Ваш вопрос немного неясен, но я постараюсь ответить.
Чтобы выбрать слово s длиной менее 6 символов или (исключительно) оканчивающееся на "y", вы можетеиспользуйте эту функцию:
def select_long_words(words)
words.select do |word|
is_less_than_6 = word.size < 6
ends_with_y = word.end_with?('y')
# Select only if one of the two condition is respected, not both or none
next is_less_than_6 ^ ends_with_y
end
end
В этой функции я использовал функцию select
из массива, которая обозначает «выбрать каждый элемент, который соответствует заданным критериям», и я установил критерии «менее 6 символов».или оканчивается на 'y', но не на оба ', используя ^
, что означает логическое значение xor.
Если вам нужно только одно слово, вы можете вызвать свою функцию следующим образом:
select_long_words(["whatever", "are", "butterfly", "wit", "foreward", "funny"]).first
Itвернет ноль, если нет соответствий, или первое слово, которое соответствует.Вы можете заменить select
на find
в методе, чтобы получить первый результат напрямую.