gpt4 book ai didi

ruby - 在单行代码中枚举 ruby​​ 变量

转载 作者:太空宇宙 更新时间:2023-11-03 17:59:00 25 4
gpt4 key购买 nike

这也许有点奇怪,但想知道是否有可能在 行 Ruby 代码中实现以下内容。

bar = 15
foo = 5
10.times { foo = foo + 1 }
puts foo == bar

即我想对一个预定义变量执行多次操作,然后将它与另一个变量进行比较,根据它们是否相等返回一个 bool 值,但在一行代码中?

最佳答案

也许 Enumerable#reduce会有帮助。

puts (0..9).reduce(5) { |acc, _| acc + 1 } == 15

迭代次数作为调用其 reduce 的对象传递。初始值作为 reduce 的参数传递。 Action 在 block 中执行,每次执行的结果作为 block 的第一个参数通过迭代进行。

唯一缺少的是对变量的赋值。让我们开始吧。

puts (foo = (0..9).reduce(5) { |acc, _| acc + 1 }) == bar = 15

所以是的,它可能的,但是我推荐一个冗长、多行和可读的解决方案。

关于ruby - 在单行代码中枚举 ruby​​ 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8404178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com