2015-02-17 3 views
0

Im писать простое заявление, которое должно проверить, является ли значение в массиве содержат 7.Проверьте, содержит ли элемент в массиве 7?

я имел в виду следующее:

def checkforseven(an_array) 
    newArray = [] 
    an_array.each do |num| 
    if num.include?(7) 
    newArray << num   
    end 
    end 
newArray 
end 



array = [1,2,14,27] 
exclaim(array) 

Но это не похоже на работу ... Am получаю " nometod error "

NoMethodError: undefined method `include?' for 1:Fixnum 

Любые мысли о том, как я могу это решить?

+1

Вы должны использовать '' include'on в array', а не на ее элементы – Pavan

+0

Спасибо @Pavan, любой подсказки о том, как добиться того, что я хочу? – user3706202

ответ

0

NoMethodError: undefined method `include?' for 1:Fixnum

Как я уже сказал, include следует использовать с array .Currently вы перебор an_array и использованием include на его элементы, что является неправильным.

Попробуйте

def checkforseven(an_array) 
    newArray = [] 
    if an_array.include?(7) 
    newArray << an_array  
    end 
newArray 
end 
+0

Когда я ввожу это на rubyfiddle с массивом, содержащим 7, я получаю пустой возврат .... – user3706202

+0

@ user3706202 вы можете разместить массив, который вы ввели? – Pavan

+0

array = [1,3,4,7,17] ... должен работать правильно? – user3706202

Смежные вопросы