我在 Ruby 中写了这样的东西:
if a.max == a[0]
brand = b[0]
elsif a.max == a[1]
brand = b[1]
elsif a.max == a[2]
brand = b[2]
elsif a.max == a[3]
brand = b[3]
end
Run Code Online (Sandbox Code Playgroud)
a并且b两者都是唯一的数组。
有什么方法可以检查所有if和elsif的情况相同吗?
只有一个条件a[0], a[1],a[2]和a[3]?
在此代码中,如果用户键入 2,两次和 1,两次。然后有两个最大元素,应该打印 Kinder 和 Twix。但是怎么样?我可能可以使用 if 方法来做到这一点,但这会使我的代码更长。有没有很酷的版本?我可以只用一个 if 吗?
a = [0, 0, 0,]
b = ["Kinder", "Twix", "Mars"]
while true
input = gets.chomp.to_i
if input == 1
a[0] += 1
elsif input == 2
a[1] += 1
elsif input == 3
a[2] += 1
elsif input == 0
break
end
end
index = a.index(a.max)
chocolate = b[index] if index
print a.max,chocolate
Run Code Online (Sandbox Code Playgroud)