4歳の長女とオセロで遊ぶようになりました。挟んでひっくり返すのはできるのですが、ナナメに挟むというのが難しいようです。そこ、ナナメもひっくり返せるよ。と思うのですが、長女は気づきません。私もあえて口に出さず、常に圧勝しています。白黒はっきりしないグレーなオセロを楽しんでいます。 さて、Rubyの特徴のひとつに、メタプログラミングがやりやすいことが挙げられます。あ、オセロの話は一切関係ないので、忘れてください。 Rubyのリフレクション解説(eval族のはなし) - このブログは証明できない。 メタプログラミングをすると、肩こりや便秘の解消などいろいろな効果がありますね。今回は、そのうちのひとつを紹介したいと思います。思い浮かべてください。既存のライブラリのある処理だけ差し替えたい。下の例では、targetメソッドの中で使われているFixnum#to_sメソッドを差し替えたいのです。そう、差
2009年06月28日10:08 Ruby Rubyのクラス名は実はClassクラスのインスタンス 少し前に書いたトップレベルでメソッドを定義したときの挙動が不思議 - (゚∀゚)o彡 sasata299's blogについて、id:faulistさんが詳しい解説記事を書いてくださいました。ありがとうございます!! Rubyのトップレベルのメソッドの不思議 - As Sloth As Possible "Object"はClassクラスの、"Kernel"はModuleクラスのインスタンスなんだけど、ClassクラスはModuleクラスの、ModuleクラスはObjectクラスのサブクラスになっている。つまり、上のコード中では"self"も"Object"も"Kernel"も、みんなObjectクラス(か、そのサブクラス)のインスタンスと言える。 「なるほどなるほど。」と思ったわけなのです
[ruby-core:18437] Class as second-generation singleton class を読んだ当初は、特異クラスのクラスが Class ってことでええやん!と思ったのですが、改めて調べてみるとどうやら必ずしもすべての特異クラスが Class に属するわけではないようで(かつ、確認する過程で、id:sumim:20080111:p1 の間違いを見つけてしまったり、id:sumim:20061019:p1 の謎が解けたりもしたので)、この機会に表題の件についていったん図にして自分なりに理解を整理しておくことに。 関連: Ruby1.9 のクラスのメタ階層を整理する 2 - Smalltalkのtは小文字です Ruby1.9 のクラスのメタ階層を整理する 3 - Smalltalkのtは小文字です Ruby で、クラスのメタ階層の情報を得る際の注意として、Ru
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く