小编Xuo*_*uor的帖子

惯用Ruby - 执行函数,直到它返回nil,将其值收集到列表中

我从这篇文章中偷走了我的标题:执行一个函数,直到它返回一个nil,将其值收集到一个列表中

那个问题是指Lisp,坦率地说,是我的头脑.但是,我认为他的问题 - 翻译成Ruby - 正是我自己的:

在[Ruby]中创建条件循环的最佳方法是执行函数,直到它返回NIL,此时它将返回的值收集到列表中?

我现在的,笨重的方法是这样的:

def foo
   ret = Array.new
   x = func() # parenthesis for clarity (I'm not a native Ruby coder...)
   until x.nil?
     ret << x
     x = func() 
   end
   ret
end
Run Code Online (Sandbox Code Playgroud)

这段代码片段会做我想要的......但我知道有一种更干净,更具惯用性的Ruby方法......对吗?

ruby null list return-value while-loop

13
推荐指数
2
解决办法
2500
查看次数

标签 统计

list ×1

null ×1

return-value ×1

ruby ×1

while-loop ×1