У меня есть массивИтерация по массиву в рубине
array = ["this","is","a","sentence"]
Я хочу напечатать строку, если один из слов в array
соответствует слову, я ищу.
Пример:
array = ["this","is","a","sentence"]
array.each { |s|
if
s == "sentence"
puts "you typed the word sentence."
elsif
s == "paragraph"
puts "You typed the word paragraph."
else
puts "You typed neither the words sentence or paragraph."
end
Этот метод печати:
"You typed neither the words sentence or paragraph."
"You typed neither the words sentence or paragraph."
"You typed neither the words sentence or paragraph."
"you typed the word sentence."
Я хочу, чтобы распознать слово "sentence"
и выполнить "you typed the word sentence."
. Если одного из этих слов нет, он выполнит оператор else "you typed neither the words sentence or paragraph."
.
Поскольку пользователь соответствует словам, шаблон должен дублировать это. Само по себе регулярное выражение соответствует подстроке, а не совпадению слов. Выделите шаблон с помощью '\ b', чтобы сделать его совпадением слов:'/\ bfoo \ b'. Поскольку поисковая строка не требуется разделять, поиск на основе регулярного выражения может быть очень быстрым. –