加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
都说for循环这不好那不好,现在已经闹到恨不得要杀死for循环的地步了...
迫于压力,聪聪也不敢用for循环,现在违心地把for循环翻译成each,却遇到了麻烦...
def ke_lian_de_for for i in 0...5 a = 0 if a.nil? a += 5 p [1, a] # => [1,5] [1,10] [1,15] [1,20] [1,25] end (0...5).each{|i| b = 0 if b.nil? b += 5 p [2, b] # => [2,5] [2,5] [2,5] [2,5] [2,5] } end ke_lian_de_for
def ke_lian_de_for
for i in 0...5
a = 0 if a.nil?
a += 5
p [1, a] # => [1,5] [1,10] [1,15] [1,20] [1,25]
end
(0...5).each{|i|
b = 0 if b.nil?
b += 5
p [2, b] # => [2,5] [2,5] [2,5] [2,5] [2,5]
}
end
ke_lian_de_for
于是发现每次each循环,局部变量就会初始化,这不是聪聪希望的...
聪聪希望each的b能得到像for的a那样的累加值,循环内部的局部变量不初始化,而且不愿用实例变量、类变量和全局变量...只用局部变量,有什么办法吗... |