将`= ~`应用于字符串

时间:2016-02-25 15:37:15

标签: ruby regex

我有:

nameArray = ["Ashlee", "Sarah", "Aspen"]
symbolRegex = "=~".to_sym

我在做:

nameArray.each do |name|
  name.send(symbolRegex, "/Aspen/")
end

我收到此错误:

type mismatch: String given
(repl):5:in `=~'

我想知道如何解决这个问题。

2 个答案:

答案 0 :(得分:3)

将正则表达式作为=~的参数传递。它的任何一方都必须是正则表达式;两者都不能是一个字符串:

name.send(symbolRegex, /Aspen/)

答案 1 :(得分:0)

=~ method需要Regexp。您的代码包含"/Aspen/",其中包含斜杠,因此看起来像但它实际上是一个字符串。你应该写/Aspen/