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

懒桃子:D
页: [1]
查看完整版本: ruby 中 关于 yield 的用法