gpt4 book ai didi

ruby - 如何在 Ruby 的 1 行中执行多个后续函数?

转载 作者:数据小太阳 更新时间:2023-10-29 08:34:48 26 4
gpt4 key购买 nike

我有两个具有相同条件的后续函数,我想知道编写它的最佳方法是什么?我知道这样做的一种方法是使用 if (condition) ... end,但我想知道我是否可以像 bash 一样在一行中完成它,'[$n == $value] echo "$n "&& 中断'。

n = 0
loop do
puts n if n == value # puts and break is having the same condition, but
break if n == value # can we do it in one line?
n += 1
end

最佳答案

因为 n 是真值,所以您可以使用“and”连接符。它读起来非常好:

n = 0
loop do
puts n and break if n == value
n += 1
end

--编辑--

正如评论中所指出的那样,这实际上不会起作用,因为 puts 返回 nil,这是不正确的。我的错。您可以改用“或”,但这样读起来不太好。所以我想说的是将语句用括号分组。

n = 0
loop do
(puts n; break) if n == value
n += 1
end

您还可以更改 puts 方法以返回它打印的值,这可以与“and”一起使用,但这可能不是最明智的想法:)

我猜你的实际代码与你粘贴的代码不同,所以如果你的链中的第一个方法返回了一些东西,你可以使用“和”。

关于ruby - 如何在 Ruby 的 1 行中执行多个后续函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2971162/

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