Ruby 将正则表达式字符串传递给方法

Ruby 将正则表达式字符串传递给方法,ruby,regex,interpolation,Ruby,Regex,Interpolation,在方法中,我希望使用正则表达式动态计算以下代码块: if (/^[A-F][A-Z]*[^\.\*]$/).match(some_value) 我尝试的方法是: def check(val) if (/^[val][A-Z]*[^\.\*]$/).match(some_value) puts "foo" else puts "waa" end end check("A-F") 我传递的值没有正确地表示出来。似乎以这种方式传递值需要更多的东西。这不是用方法可以做到的

在方法中,我希望使用正则表达式动态计算以下代码块:

if (/^[A-F][A-Z]*[^\.\*]$/).match(some_value)
我尝试的方法是:

def check(val)
  if (/^[val][A-Z]*[^\.\*]$/).match(some_value)
    puts "foo"
  else
    puts "waa"
  end
end
check("A-F")

我传递的值没有正确地表示出来。似乎以这种方式传递值需要更多的东西。这不是用方法可以做到的吗?

您希望使用字符串插值。为此,需要使用插值语法
{}

def check(val)
  if (/^[#{val}][A-Z]*[^\.\*]$/).match(some_value)
    puts "foo"
  else
    puts "waa"
  end
end

您希望字符串插值。为此,需要使用插值语法
{}

def check(val)
  if (/^[#{val}][A-Z]*[^\.\*]$/).match(some_value)
    puts "foo"
  else
    puts "waa"
  end
end

您希望字符串插值。为此,需要使用插值语法
{}

def check(val)
  if (/^[#{val}][A-Z]*[^\.\*]$/).match(some_value)
    puts "foo"
  else
    puts "waa"
  end
end

您希望字符串插值。为此,需要使用插值语法
{}

def check(val)
  if (/^[#{val}][A-Z]*[^\.\*]$/).match(some_value)
    puts "foo"
  else
    puts "waa"
  end
end

啊!!该死,那很容易。我不知道你可以在引号之外使用{}。非常感谢。哦,明白了-必须点击支票。啊!该死,那很容易。我不知道你可以在引号之外使用{}。非常感谢。哦,明白了-必须点击支票。啊!该死,那很容易。我不知道你可以在引号之外使用{}。非常感谢。哦,明白了-必须点击支票。啊!该死,那很容易。我不知道你可以在引号之外使用{}。非常感谢。哦,明白了-必须点击检查。没有必要在
[…]
内转义
*
<代码>[^.*]就足够了。不需要在
[…]
内转义
*
<代码>[^.*]就足够了。不需要在
[…]
内转义
*
<代码>[^.*]就足够了。不需要在
[…]
内转义
*
<代码>[^.*]就足够了。