最近开始学习ruby,总是搞不懂proc和yield的区别。
今天有仔细翻了下资料,学习了下,感觉有点明了了。
对于proc和yield总结如下:
yield,意味让路,就是这里要写代码但是要写什么还不知道,那先yield。等以后想好了再写上;proc是先写了一段代码,但是暂时不用,我先放着,等到想用了在call你。
关于这方面的例子网上可以找到很多。附一个别人的供大家参考。
理解比较浅显,有不足之处还望指出。
今天有仔细翻了下资料,学习了下,感觉有点明了了。
对于proc和yield总结如下:
yield,意味让路,就是这里要写代码但是要写什么还不知道,那先yield。等以后想好了再写上;proc是先写了一段代码,但是暂时不用,我先放着,等到想用了在call你。
关于这方面的例子网上可以找到很多。附一个别人的供大家参考。
sayHello = Proc.new{puts "hello"} # 代码不会立即执行
sayHello.call# 现在我们来调用运行Proc的存放的代码
def time
start = Time.now
yield
puts Time.now - start
end
time { puts "block!!" }
理解比较浅显,有不足之处还望指出。