_ [Ruby] Rubyの互換性警告ライブラリを作ってみました / Je viens de faire un librairie qui alerte la compatibilité de Ruby. HikiのRuby-1.9対応をしていて、よくあるはまりどころを見つける良い方法はないかと思い、Ruby-1.8で動かしたまま、互換性の問題のあるメソッドを呼び出す時に警告を出すライブラリを作ってみました。 例えば、「Ruby-1.8では String#to_a は存在しますが、Ruby-1.9ではエラーになる」という風に無くなってしまうものに関しては、ruby -wで実行すれば、 warning: treating String as Enumerable object is deprecated; use String#each_line/lines と警告を出してくれるのでいいので
(8/18 8:57 一部間違いがありましたので修正しました。下の方。) (8/18:18:00 エントリ自体がネタなんですよと明記しました。下の方) StringやらArrayやらHashやらのインスタンスに lengthメソッドとsizeメソッドがありますが全く同じ動作をするので 個々人が好みで使い分けていました。 私は文字数が短いので、なんとなくsizeを使っていました。 この度、私はlength派に寝返りました。 と言うのは Ruby1.9系では組み込みクラス、Array、String、Hashにおいて lengthの方がsizeより、ものすごくわずかに速いためです。 いまのところですけど。 あと、lengthメソッドをオーバーライドしてない事も条件です。 lengthとsizeの実効時間を測定してみました。 適当なArrayとStringとHashのオブジェクトを作って leng
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く