Изучение рубина для цикла - PullRequest
0 голосов
/ 05 февраля 2012

Привет, я прохожу этот цикл и отправляю список слов lines и строку str для соответствия. По какой-то причине он не печатает eureka, хотя:

def search_array(str, lines)
    count = 0
    lines.each do |i|
        count +=1
        if str == i
            puts 'eureka'
        end
    end
end

FILE_LOC = "words.txt"
lines = File.readlines(FILE_LOC)
word = "hello"

search_array(word, lines)

Ответы [ 2 ]

0 голосов
/ 05 февраля 2012

Это работает для меня:

class Looper


  def search_array(str, lines)
    count = 0
    lines.each do |i|
        count +=1
        if str == i 
            puts 'eureka'
        end
    end
  end

end

looper = Looper.new

looper.search_array('fish', ['taco', 'horse', 'fish'])

Я не уверен, как вы запускаете свою программу, но вы можете просто скопировать и вставить это в текстовый редактор и сохранить его как "LooperTest.rb",Затем откройте ваш терминал и измените каталоги на путь с этим файлом и запустите его так: ruby LooperTest.rb

0 голосов
/ 05 февраля 2012

Это работает для меня, когда я делаю:

lines = ["a", "b", "c"]

search_array("b", lines)

Вы получаете строки из файла или какой-либо другой вид ввода?Если так, они заканчиваются символами новой строки?Если это так, попробуйте:

if str == i.chomp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...