Bignumは遅いとのことで測った

10週遅れぐらいでRHGを読み始めた。 第二章の整数の説明でFixnumとBignumの内部実装の違いについて書いてある。 Rubyのオブジェクトは基本的には各々のクラスの構造体へのポインタ(RBasic.klass)を持つんだけど、効率面を考えて一部のオブジェクト*1はこのポ…

熱海に行って画像に文字をいれるためのコードを書いていた

土日、友人に誘われて熱海で開発合宿もどきのようなものをやってきた。 開催が決まったの金曜深夜だったので完全に行き当たりばったりの企画で、 特に何を作るとか考えていなかったので画像に文字をいれるgemを作っていた。 Github - Tym このgemを使うこと…

git hooksでMilkodeとctagsを自動的に設定

git

Milkode 最近Milkodeというソースコード検索ツールを使ってる。 Rubyで書かれてるし早いっぽいしお気に入り。 Milkode - 行指向のソースコード検索エンジン git hooksで自動更新 githubからcloneしたコードは基本的にmilkodeに登録したいので、git hooks使っ…

渡されたblockを回数制限付きで例外retry

例外あがってきたときに回数制限つきで retry するのどうやったらきれいに書けるの問題 in ruby - life.should be_happy # => 1 examples, ? failures を見て。 なれないProc使ってるせいでださい、もっともっとかっこよく書けるはず。

メソッドのsender/receiver入れ替え

脳が疲れているとメソッドの呼び出し元を間違えて 1.include?([1,2,3,4,5]) みたいなコードを書いてしまうことがあるので、以下のようなコードを考えた。 当然、sender/receiverどちらにもないメソッドを呼ぶと無限にスタックを積み上げて落ちる。 コールス…

オブジェクトにあとからインスタンス変数を追加

どうしようもないコードとどうしようもないコードを無理やりつなげ合わせなきゃいけない時に。 Objectクラスのinstance_variable_setでもできるけどgetter/setterが必要だったので。

succメソッドの使い方

定義したオブジェクトをRangeで使えるようにするにはsuccメソッドとメソッドを定義する必要があるそうです。 いろんなオブジェクトをいろんな増加値で範囲オブジェクトにしたいコード。

Rubyの例外でFizzBuzz

ensureの中だとretry書けないんですね。 インクリメントもうちょっとかっこよくしたかった。