获取 Ruby 中大括号外的变量



我有这个代码:

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 开发人员,但我知道其他语言就是这种情况。

最新更新