gpt4 book ai didi

ruby - 将兰特与一系列数字进行比较?

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

Ruby 中是否有一个函数可以让我做我在这里尝试做的事情?

rand1 = rand(10)

puts rand1
puts ""

if rand1 == (0..9)
print "yes"
else
print "no"
end

这打印出 no,如何更改第 6 行以便打印出 yes?

最佳答案

你可以使用 case expression :

case rand
when 0..9
print 'yes'
else
print 'no'
end

它还允许您提供多个范围或数字以进行比较。这是一个人为的例子:

case rand
when 0..2, 3, 4..9
print 'yes'
else
print 'no'
end

在幕后,case 使用 === 来比较给定的对象,即上面的(几乎)等同于:

if 0..2 === rand || 3 === rand || 4..9 === rand
print 'yes'
else
print 'no'
end

(注意 when 对象成为接收者而 rand 成为参数)

关于ruby - 将兰特与一系列数字进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58577908/

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