【发布时间】:2017-08-25 20:17:24
【问题描述】:
我有这个代码:
def foo( condy )
['<','>'].each{ | char|
ret = condy.split( char ).reject{ |x| x.empty?() }
break if ret.length > 2
}
return ret
end
此代码出错,因为无法识别 ret 但是,此代码确实有效:
def foo( condy )
ret = []
['<','>'].each{ | char|
ret = condy.split( char ).reject{ |x| x.empty?() }
break if ret.length > 2
}
return ret
end
我的问题很简单:
如何让 ret 变量在花括号之外持续存在,而无需先在它之外定义它。这是吹毛求疵,我知道。
【问题讨论】:
-
真的是重复的吗?在这里您可以使用 each_with_object,但最初的问题是使用循环,您没有该选项。