【发布时间】:2013-10-11 20:59:52
【问题描述】:
在下面的代码中,一旦if 代码成功地将它遇到的第一个 1 更改为 2,我如何打破 each 语句。
hash = {:key1 => "1", :key2 => "2", :key3 => "1", :key4 => "3" :key5 => "3"}
array = [:key1,:key2,:key3,:key4,:key5]
array.each do |x|
if hash[x] == "1"
hash[x] = 2
end
【问题讨论】:
-
x是一个块变量。它不存在于块之外。这意味着,您的整个each块相当于什么都不做。您的代码的目的不明确。 -
我更改了代码以进一步解释我的问题@sawa
-
@RavensFlock 给了你这个想法,为什么不用这个?
标签: ruby arrays if-statement each break