Ruby 检查字符串是否包含数组中的任何子字符串

Ruby 检查字符串是否包含数组中的任何子字符串,ruby,Ruby,我想检查数组words=[“foo”、“bar”、“spooky”、“rick james”]中是否有任何元素是短语的子字符串 如果存在任何匹配项,则返回true,否则返回false 我目前的解决方案(有效,但可能效率低下,我仍在学习Ruby): 您的解决方案是高效的,只是没有Ruby允许的那么有表现力。Ruby提供了一种方法来表示您对该循环所做的操作: words.any? { |word| sentence.include?(word) } 另一个选项是使用正则表达式: if Regex

我想检查数组
words=[“foo”、“bar”、“spooky”、“rick james”]
中是否有任何元素是短语
的子字符串

如果存在任何匹配项,则返回true,否则返回false

我目前的解决方案(有效,但可能效率低下,我仍在学习Ruby):


您的解决方案是高效的,只是没有Ruby允许的那么有表现力。Ruby提供了一种方法来表示您对该循环所做的操作:

words.any? { |word| sentence.include?(word) }

另一个选项是使用正则表达式:

 if Regexp.union(words) =~ sentence
   # ...
 end

我要爱鲁比。。。(计时器启动后4分钟内将接受)使用
include?
作为
includes?
在ruby2.0中对我不起作用Ruby中没有
includes?
。此答案需要编辑才能使用
include?
 if Regexp.union(words) =~ sentence
   # ...
 end