arrays - 在 Ruby 语言中的一个 if 语句中使用多个条件

标签 arrays ruby loops if-statement max

我在 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
ab两者都是唯一的数组。
有什么办法可以全部查ifelsif状态一样吗?a[0] 只有一个条件, a[1] , a[2]a[3] ?

最佳答案

Array#index在这种情况下可能会有所帮助(假设 ab 的大小相同):

brand = b[a.index(a.max)]
在数组 a 的情况下可能是空的,你需要一个额外的条件来避免错误:
index = a.index(a.max)
brand = b[index] if index

关于arrays - 在 Ruby 语言中的一个 if 语句中使用多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64991007/

相关文章:

ruby-on-rails - 缺少 Rails 2.3.11 gem。请 `gem install -v=2.3.11 rails` ,

c - 循环中的变量变化

使用不同的因变量重复回归

arrays - 尼姆 : advantage of using array over seq?

ruby - self.class_eval <<DEF ... DEF

ruby-on-rails - 有没有办法为 CarrierWave/Fog 设置上传进度指示器?

javascript - jQuery Mobile 循环不工作

javascript - 在 beforePageLoad 事件中设置组合框的值

c - 从文件中精确打印和扫描 (C)

javascript - 在 javascript 中存储数组 for javascript