Chinaunix
标题:
ruby 中 关于 yield 的用法
[打印本页]
作者:
i_love_ruby
时间:
2011-10-09 16:49
标题:
ruby 中 关于 yield 的用法
ruby 中 关于 yield 的用法 谁能给讲一下?
如何去理解 yield ?
def fibUpTo(max)
i1,i2=1,1 #parallel assignment
while i1<=max
yield i1
i1, i2 =i2,i1+i2
end
end
fibUpTo(1000){|f| print f," "}
作者:
i_love_ruby
时间:
2011-10-10 09:20
这么没有人理我呢?
作者:
zhlong8
时间:
2011-10-10 16:03
在此处调用跟在后面那个 block 中的代码,yield 后面的参数传给 block 当参数。就是个语法
作者:
rubyish
时间:
2011-10-11 07:46
这玩意儿真好。
作者:
2gua
时间:
2011-10-12 09:11
我回复你了,你看看。
作者:
2gua
时间:
2011-10-12 09:16
i1是yield的参数,这个参数值传递给代码块{|f| print f," "}中的f。
作者:
i_love_ruby
时间:
2011-10-18 10:57
回复
6#
2gua
谢谢,我也是在前两天理解的。恩,是你说的这个意思
作者:
2gua
时间:
2011-10-18 19:33
回复
7#
i_love_ruby
甭客气。
作者:
lax
时间:
2011-10-22 17:17
相当于
block.call(i1)
复制代码
把参数传给block
作者:
2gua
时间:
2011-10-22 21:08
懒桃子
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2