标签: ruby
我有:
variable = 1
和使用相同名称变量的块:
[*1..10].each do |n| ... variable = 2 end
有没有办法避免更改外部变量(阴影?)
答案 0 :(得分:1)
是的!从Ruby 1.9开始,Ruby引入了块局部变量,该变量不会以;开头。但这不好,请考虑在块中使用其他名称。
;
variable = 1 [*1..10].each do |n; variable| ... variable = 2 end