我有一个数组:
a = ["http://design.example.com", "http://www.domcx.com", "http://subr.com"]
然后如果该数组中的一个元素与字符串匹配,我想返回true:
s = "example.com"
我尝试使用include?
和any?
。
a.include? s
a.any?{|w| s=~ /#{w}/}
我不知道如何在这里使用它。有什么建议吗?
答案 0 :(得分:5)
您可以使用any?
之类的:
[
"http://design.example.com",
"http://www.domcx.com",
"http://subr.com"
].any?{ |s| s['example.com'] }
替换您的变量名称:
a = [
"http://design.example.com",
"http://www.domcx.com",
"http://subr.com"
]
s = "example.com"
a.any?{ |i| i[s] }
你也可以采用其他几种方式,但是使用any?
的优势是它会在你获得一次命中后立即停止,所以如果在命令的早期发生命中,它会快得多。
答案 1 :(得分:2)
以下是怎样的:
a=["http://design.example.com", "http://www.domcx.com", "http://subr.com"]
s= "sus"
p a.any? { |w| w.include? s } #=> false
a=["http://design.example.com", "http://www.domcx.com", "http://subr.com"]
s= "design.example"
p a.any? { |w| w.include? s } #=>true
a=["http://design.example.com", "http://www.domcx.com", "http://subr.com"]
s= "desingn.example"
p a.any? { |w| w.include? s } #=>false
a=["http://design.example.com", "http://www.domcx.com", "http://subr.com"]
s= "example"
p a.any? { |w| w.include? s } #=>true
a=["http://design.example.com", "http://www.domcx.com", "http://subr.com"]
s= "example.com"
p a.any? { |w| w.include? s } #=>true