« Ruby の イテレータ | メイン | MP3プレーヤー 選考 » |
このブログを書く四元輝博とジョシュア清水が経営する旅行代理店スカイメリカ
ジョシュア清水 自らが操縦する、日本語でのガイドと会話を楽しみながらハワイ島を巡るセスナの旅
このブログを書く四元輝博と共にスカイメリカを経営するハワイ島在住の日本人パイロット、ジョシュア清水のブログ
スカイメリカの共同経営者、シリコンバレー在住の四元輝博によるIT情報・ベンチャー起業に関するブログ
四元輝博によるに 「組み込みJava による M2Mソリューション」に関する調査レポート・サイト
: 個別エントリー・アーカイブ :
def foo # メッソド foo の定義 fooprint(5) end def fooprint( i ) # メッソド fooprint の定義 p i+10 end foo # メッソド foo を呼ぶ def fooprint( i ) # メッソド fooprint の再定義 p i+20 end foo # メッソド foo を再び呼ぶこの例では、まず foo というメッソドを定義している。 この fooの中から fooprint というメッソドを引数「5」で呼び出すことにする。 次に、fooprint というメッソドを定義しており、 その処理内容は 引数「i」に「10」を足してから表示する、というもの。 その直後に メッソド「foo」を呼び出している。 続いて再び、メッソド「fooprint」を定義しなおしている。 その処理内容は 引数「i」に「20」を足してから表示する、というもの。 その直後に再び メッソド「foo」を呼び出している。
def foo yield(5) # fooprint(5) の代わり end foo do |i| # do |i| は def fooprint( i ) の代わり p i+10 end foo do |i| # do |i| は def fooprint( i ) の代わり p i+20 endとなる。 こちらの例では ブロックをメッソド「foo」に直接 引数として渡しており、 前の例であった「fooprint」というメソッド定義がなくなっている。 上記2つのスクリプト例を実行してみると
15 25となる。
カテゴリー: Ruby 2006年12月 2日 22:44
このエントリーのトラックバックURL:
http://www.skymerica.com/blog/yotsumoto/mt/mt-tb.cgi/636