Вы можете объединить все слова в одно регулярное выражение со словами, разделенными "|" характер.
sentence =~ /word1|word2|..../
Вы можете преобразовать массив слов в подходящее регулярное выражение с помощью array.join ("|").
Если слова могут содержать метасимволы регулярных выражений, заключите каждое слово в скобки без захвата.
sentence =~ /(?:word1)|(?:word2)|..../
Использование одного регулярного выражения должно быть гораздо более эффективным, чем циклический просмотр массива слов, поскольку регулярное выражение будет скомпилировано в одну таблицу состояний.