【Ruby】パーフェクトRuby 学習感想文 ~第15章 その3
それでは15章を読んでいきます。
(参考・経緯など)
パーフェクトRuby 学習感想文 ~はじめに
P558 ブロックがいまいち分からない
def self.parse!(argv) cp = OptionParser.new do |opt| opt.on_head('-v','--version', 'show ver') do |v| opt.version = TodoSamp::VERSION puts opt.ver + "dayo" exit end end cp.parse!(argv) end
これ、どうしてブロック関数を使う必要があるんだろう?
cp = OptionParser.new do |opt| opt.on_head ・・・ cp.parse!(argv) end
っていうのは、
opt = OptionParser.new opt.on_head ・・・ cp = opt
みたいなイメージ?
二つ目のvブロックに関しては、
ブロック内に「v」がいなくて、ほんと意味分からない。
ここら辺で一度脱線して、ブロック関数も抑えておきますか。。
全体的に15章はコードへの説明がないです。。
メソッド定義に、new.(argv).executeという一文が出てくる(P555)のだけれど、
初心者にはちょっと辛いかと思いました。こんな↓一言添えてみては。。
- コンストラクタ生成もnewメソッドで行われること
- メソッドチェーンになっていること
- 「new」はレシーバーではないこと
P558 デフォルトの挙動。。
デフォルトの挙動を上書きしていることが、説明を読むだけでは理解できませんでした。
手を動かして、実際に自分が実装した内容が出力されているのを見て
「あー。デフォルトを上書きしているのね」と理解できました。。
『明示的に --versionを実装すること』がデフォルトの上書きを指すと分からなかった。
こうやって書けば当たり前に見えるけれど。。
眠いです。。。