本文介绍了当块已经有自己的作用域时,设置Ruby块局部变量的目的是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
了解Ruby块here。在本例中,使用块局部变量有什么意义:什么时候你可以只做下面的事情?块中的x
已经有了自己的作用域,这与块外的x
不同。
推荐答案
阻止作用域嵌套在其词法封闭作用域中:
foo = :outerfoo
bar = :outerbar
1.times do |;bar|
foo = :innerfoo
bar = :innerbar
baz = :innerbaz
end
foo #=> :innerfoo
bar #=> :outerbar
baz # NameError
您需要一种方法来告诉Ruby:"我不想要这个来自外部作用域的变量,我想要一个新的。"这就是块局部变量的作用。
这篇关于当块已经有自己的作用域时,设置Ruby块局部变量的目的是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!