我有这个代码:
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 变量在大括号之外持久化,而不首先在大括号外定义它。我知道这是吹毛求疵。
除非在函数外部声明它,否则不可能在事后返回它。一旦您转义了大括号,变量就会超出范围,因此无法使用。不是 Ruby 开发人员,但我知道其他语言就是这种情况。