開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Ruby
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 13章(ブロックとproc), 14.4(練習問題)よりよいプログラムロガー を解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
- Rubyクックブック ―エキスパートのための応用レシピ集
よりよいプログラムロガー
コード(TextWrangler)
sample.rb
#!/usr/bin/env ruby1.9 #-*- coding:utf-8 -*- $pre = 0 def log description, &block indent = ' ' puts "#{indent * $pre}\"#{description}\"を開始..." $pre += 1 result = block.call $pre -= 1 puts "#{indent * $pre}...\"#{description}\"が終了して、戻り値は" puts "#{indent * $pre}#{result}" end log '外側のブロック' do log '小さなブロック' do log 'ごく小さなブロック' do 'lots of love' end 42 end log 'また別のブロック' do '私はインド料理が好き' end true end
入出力結果(Terminal)
$ ./sample.rb "外側のブロック"を開始... "小さなブロック"を開始... "ごく小さなブロック"を開始... ..."ごく小さなブロック"が終了して、戻り値は lots of love ..."小さなブロック"が終了して、戻り値は 42 "また別のブロック"を開始... ..."また別のブロック"が終了して、戻り値は 私はインド料理が好き ..."外側のブロック"が終了して、戻り値は true $
0 コメント:
コメントを投稿