gpt4 book ai didi

Ruby if .. elsIf .. else 在一行中?

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

使用 ruby​​ 三元运算符,我们可以为简单的 if else 构造编写以下逻辑:

a = true  ? 'a' : 'b' #=> "a"

但是如果我想把它写成 if foo 'a' elsif bar 'b' else 'c' 怎么办?

我可以这样写,但是有点难理解:

foo = true
a = foo ? 'a' : (bar ? 'b' : 'c') #=> "a"

foo = false
bar = true
a = foo ? 'a' : (bar ? 'b' : 'c') #=> "b"

是否有更好的选择来处理这种情况,或者如果我们希望将 if..elsif..else 逻辑压缩到一行中,这是我们最好的选择吗?

最佳答案

a = (foo && "a" or bar && "b" or "c")

a = ("a" if foo) || ("b" if bar) || "c"

关于Ruby if .. elsIf .. else 在一行中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13848780/

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