2017-09-01から1ヶ月間の記事一覧

paiza オンラインハッカソン vol.1 をやってみた

前回のエントリでやったのがおもしろかったので、最初からやってみた。いつもながら Ruby です。 結果。 まあ悪くないのだけれど…。いや、これは苦しみました。最初はソートしてバイナリサーチというアルゴリズムを考えていたのだけれど、バグに悩まされて挫…

paiza Online Hackathon をやってみた

もうとっくに応募は締め切られているけれど、とにかく Ruby でやってみました。 結果。 やったね!コードです。 need = gets.to_i company = gets.to_i number, cost = [], [] company.times {|i| number[i], cost[i] = gets.split.map(&:to_i)} h = {} comp…

GTK+ で落書き 13(Ruby)

自作の Gem 'oekaki' を使っています。 oekaki | RubyGems.org | your community gem host GTK+でお絵かきしてみた(Ruby) - Camera Obscura require 'oekaki' Width, Height = 500, 400 ColorMax = 65536 R = 20 class Star def initialize(ob) @x, @y = r…

斜方投射の数値計算と描画(Ruby)

4次のルンゲ−クッタ法の練習としてやってみました。斜方投射(斜め上にものを投げるということです)じゃ全然威力を発揮しないのですが、とりあえず動くかどうかだけ確かめました。描画は gnuplot でやっています。 runge_kutta_sample1.rb require 'numo/gn…

「なぜ関数プログラミングは重要か」解読(Ruby)

なぜ関数プログラミングは重要か Rubyを使って「なぜ関数プログラミングは重要か」を読み解く(改定)─ 前編 ─ 但し後編の予定なし メモです。 melborne 氏のブログを参考に lambda のみで実装。 関数合成に関してはここを参考にしたが、これではうまくない…

Linux Mint には Ruby がデフォルトで入っている

Linux Mint 18.2 で確認。 $ ruby -v ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu] Ubuntu 17.04 にはまだデフォルトでは入っていないようだ。

Ruby の型注釈のオレオレ記法

Ruby が型を明示的に書かないのはすごくラクだし気に入っているのだけれど、複雑な処理をするメソッドなどでは型注釈があった方がわかりやすい場合もあります。なので、コメントで型注釈をする仕方を自分で決めてみました。 ●引数(self も含む) -> メソッ…

Ruby で循環小数を扱う

以前にも同様の試みをしたのですが(参照)、コードを始めから書き直しました。以前のは何か自分でもよくわからない、面倒なことをしているので。作ったのは Rational#to_rec_decimal と String#to_r で、前者は Rational(分数)を(String で表される)循…

Ruby で Python の for else みたいなの

繰り返しを実行して break(あるいは return)されなかったら何かを実行するって時々欲しいのですけれど、Ruby では Python の for else みたいな構文がないのですよね。なので throw ~ catch を使って大域脱出したりするのだけれど、どうにかできないかと思…

GTK+ で落書き 12(Ruby)

三角形の内心・外心・重心・垂心・傍心 自分で求めた公式を使って、三角形の内接円と外接円を Ruby で描いてみました。 描画には自作の Gem 'oekaki' を使っています。 oekaki | RubyGems.org | your community gem host GTK+でお絵かきしてみた(Ruby) - C…

OpenGL で正多面体を回転させてみる その2(Ruby)

前回のエントリの隠面消去バージョンです。 5つのウィンドウが同時に立ち上がるのは同じです。Windows ではたぶんこのままでは動きません。コードは下のリンク先にあります。 OpenGL で正多面体を回転させる · GitHub

OpenGL で正多面体を回転させてみる(Ruby)

Ruby 用に OpenGL を手軽に使うライブラリ「miniopengl.rb」を書いたので、その例として 5つの正多面体すべてを回転させてみました。 正多面体のデータはここより頂戴しました。ありがとうございます。polyhedrons_obj.zip をダウンロードして解凍し、フォル…