Как я могу сделать что-то подобное? или мне нужно использовать IF все время?Возможно ли, КОГДА проверить, принадлежит ли переменная массиву?
ar = [["a","b"],["c"],["d","e"]]
x = "b"
case x
when ar[0].include?(x)
puts "do something"
when ar[1].include?(x)
puts "do else"
when ar[2].include?(x)
puts "do a 3rd thing"
end
Я использую рубин 1.8.7
'each_with_index' будет соответствовать здесь:' я = ar.each_with_index {| е, я | i, если e.include? (x)} ' –
@glenn,' each_with_index' возвращает весь массив. 'p [1, 2] .each_with_index {| e, i | i, если e == 2} # -> [1, 2] ' – vava
справа. 'i = ar.each_with_index.find {| e, i | e.include? (x)} [1] '... не большое улучшение по сравнению с вашим ответом. –