【Ruby】Gold試験対策-メタプログラミングRuby
メタプログラミングRubyを借りてきました。 お友達に感謝感謝。しっかり身につけて還元しようと思います。
- 作者: Paolo Perrotta,角征典
- 出版社/メーカー: KADOKAWA/アスキー・メディアワークス
- 発売日: 2010/08/28
- メディア: 大型本
- 購入: 18人 クリック: 533回
- この商品を含むブログ (125件) を見る
魔法のようなことが書いてあるのに対話形式で読みやすいです。なんかわかった気にさせてくれる本です!とりあえず気になった点をリストアップしてみる。
1.すべてがインスタンスである。(他のOOPLもそうだけど、Rubyはその事実にたどり着きやすい。) 2.メソッドを定義するメソッド、定義してないメソッドが呼ばれた時の動作を記述するメソッドがある。 →define_method、method_missing 3.ブロックやメソッドもインスタンスだから、引数にして他のメソッドに渡せる。
*** 疑問点 1.なんでこんなにたくさんの記述方法を用意するのか?クラス定義やメソッド定義は1通りの方が統一できるのでは?
|ruby| def Class1;end Class2 = Class.new do; end
二行ともやっていることは同じ
ただ下の行はただのブロック渡し定数宣言とみなされ、外のローカル変数を中から見ることができる。
||< そもそもJavaではNested Classを作らない限りこんなことにはならないので考えたこともなかったです。 ぜ~んぶインスタンスとメソッドにしてしまうような高度な一般化と、初学者でもその辺りに触れることができるのはRubyの魅力かも知れません!