Как я могу найти, если индексный номер для определенного элемента в массиве также существует как целое число в том же массиве? - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь найти значение индекса слова "нечетный", а затем вернуть true, если это значение индекса также существует целое число в том же массиве.

Например,

array = ["even",9,"even",88,"even",777,"even",10,"odd",8,"even"]

Индекс "нечетного" здесь равен [8].

Когда я сохраняю значение индекса как переменную с именем odd, а затем использую .include?, чтобы увидеть, находится ли оно в приведенном выше массиве, моя функция возвращает false.

Поскольку число * существует в array, а значение odd также равно 8, почему моя функция возвращает false?

def does_the_index_of_odd_exist(x)
  odd = x.each_index.select { |i| x[i] == "odd" }
  x.include?(odd)
end

Любая помощь, объясняющая это, очень ценится.Я только начал учиться!

Ответы [ 2 ]

2 голосов
/ 20 июня 2019

Если я понимаю суть, вы должны использовать только:

array.include? array.index "odd"
1 голос
/ 20 июня 2019
x.each_index.select { |i| x[i] == "odd" }
=> [8] #array
but not "odd"

so use find instead of select, it returns string element in array
...