在一个方法中,我想用正则表达式动态评估以下代码块:
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")
我传入的值并未正确显示。似乎以这种方式传递价值需要更多的东西。这不是你可以用方法做的事情吗?
答案 0 :(得分:3)
您期望字符串插值。为此,您需要使用插值语法#{}
:
def check(val)
if (/^[#{val}][A-Z]*[^\.\*]$/).match(some_value)
puts "foo"
else
puts "waa"
end
end