タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

メタプログラミングとevalに関するtakaesuのブックマーク (1)

  • Rubyのyieldは羊の皮を被ったevalだ!

    Yugui著「初めてのRuby」の9章に、Rubyの黒魔術の一つとしてeval族と称されるメソッド群が紹介されている。 初めてのRuby 危険らしい。素人が安易に手を出すべきではなさそうだ。でも魅力的らしい。 暗黒の世界に引かれていく自分がいる… 勉学のために覗くだけならいいだろうし、危険であればその正しい理解がより重要になるだろう。自分が学んで理解したことをここに整理してみよう。 eval族と呼ばれるものには、instance_evalメソッド、class_evalメソッド(またはmodule_eval)、および組み込み関数evalがある。 instance_eval Ruby空間における操作対象はオブジェクトである。オブジェクトは外からのメッセージを受け取ると、その中の対応するメソッドを起動して、そこに書かれている手続きを実行する。 メソッドは他のオブジェクトを引数として取ることができ

  • 1