2012-12-01から1ヶ月間の記事一覧
しつこく「Hub」を眺めている。語学学習に精読と多読の2つのアプローチがあるように、コードリーディングにも精読というのがあるはずで、試しにそれをやってみている。モヤッする「分かってない感」を感じたら、基本的に分かるまで調べるのが精読。そのため…
git/GitHubを便利に使うRuby製ツールのコマンドラインツール「Hub」のソースコードを少し読んだので、あれこれメモ。これとこれの続き。GitHubのAPIをラップする lib/hub/github_api.rb は、クラス定義関連を抜き出すと以下。 module Hub class GitHubAPI mo…
ruby/src/error.c を眺めていて、RangeErrorの以下の例に、おやっと思った。 /* * Document-class: RangeError * * Raised when a given numerical value is out of range. * * [1, 2, 3].drop(1 << 100) * * <em>raises the exception:</em> * * RangeError: bignum …
git/GitHubを便利に使うRuby製ツールのコマンドラインツール「Hub」のソースコードを少し読んだ。コメントが非常に丁寧だし、小さなツールなので、全体を把握しやすい。いろいろ勉強になる。あれこれランダムにメモしてみる。featuresの下にあるcucumberのテ…
git/GitHubを便利に使うRuby製ツールのコマンドラインツール「Hub」のソースコードを少し読んだので、あれこれメモ。git/GitHubを便利に使うHubを少し読むの続き。GitHubのAPIをラップする lib/hub/github_api.rb は、クラス定義っぽいところを抜き出すと以…
Digestには何があったかなと思って、ruby/ext/digestを見てみたら、lib/digest.rbに以下のようなコードあった。Rubyはハッシュ関数として、MD5、SHA1、SHA2、RDM160というのなんかをサポートしてる。BubbleBabbleというマイナーなものも入ってるらしい。で、…
CodeIQというプログラミング課題に挑戦するサイトに、Rubyでジャンケンクラスを作れという問題があったのでやってみた。すでに問題は読めなくなっているけど、こんな感じのJankenクラスを作れという。 $ irb > require './janken.rb' > left = Janken.new > …