У меня есть массив headlines
, который содержит несколько предложений, например:
headlines = ["I see a tree", "Facebook is slow", "plants need water to grow", "There's an orange", "I think we'll agree"]
first = headlines[0]
second = headlines[1]
third = headlines[2]
Я использую гем ruby_rhymes
, который предоставляет метод #to_phrase.rhymes
, который печатает рифмующиеся слова для последнего слова в строке, которую вы ему предоставляете. Теперь, чтобы проверить, рифмуются ли строки массива, я делаю что-то вроде:
> first.to_phrase.rhymes.flatten.join(", ").include?(second.to_phrase.rhymes.flatten.join(", "))
=> false
> second.to_phrase.rhymes.flatten.join(", ").include?(third.to_phrase.rhymes.flatten.join(", "))
=> true
Я хочу сохранить их в текстовом файле, чтобы отсортировать их в массиве, чтобы рифмованные пары следовали друг за другом. Я знаю, чтобы отсортировать строки, если последние 3 символа одинаковы:
headlines.sort! {|a,b| a[-3,3] <=> b[-3,3] }
Но я не знаю, как сделать, хочу, хочу.