Hatena::Groupsubtech

生きている乳酸菌 このページをアンテナに追加 RSSフィード

 | 

2009-02-16

[] ブロックの違い 12:27  ブロックの違い - 生きている乳酸菌 を含むブックマーク はてなブックマーク -  ブロックの違い - 生きている乳酸菌  ブロックの違い - 生きている乳酸菌 のブックマークコメント

{ .. } とdo .. end の違いって何!?

って思ってしんちゃんに聞いたら教えてくれた。

結合強度が違うらしい

irb(main):082:0> def foo (arg='',&b)
irb(main):083:1> if block_given?
irb(main):084:2> p 'foo'
irb(main):085:2> b.call
irb(main):086:2> end
irb(main):087:1> end
=> nil
irb(main):090:0> def bar (arg='',&b)
irb(main):091:1> if block_given?
irb(main):092:2> p 'bar'
irb(main):093:2> b.call
irb(main):094:2> end
irb(main):095:1> end
=> nil
irb(main):096:0> foo bar do p 'block' end
"foo"
"block"
=> nil
irb(main):097:0> foo bar { p 'block' }
"bar"
"block"
=> nil

リファレンスに書いてあった

http://www.ruby-lang.org/ja/man/html/FAQ_A5D6A5EDA5C3A5AFC9D5A4ADA5E1A5BDA5C3A5C9B8C6A4D3BDD0A4B7.html

foobar a, b do .. end # foobar がブロック付きメソッドとして呼び出されます

foobar a, b { .. } # b がブロック付きメソッドとして呼び出されます

MamiMami2013/03/06 13:16I thought finding this would be so arduous but it's a berzee!

otafhwsotafhws2013/03/09 00:33iW9WcD , [url=http://gcuimbgzjchl.com/]gcuimbgzjchl[/url], [link=http://wykeywtnblng.com/]wykeywtnblng[/link], http://exeilhophsiq.com/

 |