如何在ruby_expect中转义#?

时间:2013-08-16 08:03:27

标签: ruby regex expect

我想用ruby_expect自动化一些配置会话。但是有一个问题。我有一个提示为console#的会话。

所以我有这个代码块:

expect /console#/ do
  send "foobar"
end

你看,期望标题中有这个#,Ruby现在将/ do视为注释,但失败了。 我搜索了Ruby regexps的文档,似乎#是一个非控制字符,并且可能无法转义,因为解析器不会理解这一点。

如何将此代码块视为工作块,而不将#解释为注释指示符?

1 个答案:

答案 0 :(得分:1)

适合我:

def expect(*patterns, &block)
  p patterns
end

expect /console#/ do
end

输出(1.8.7,1.9.3,2.0.0,jruby,rbx):

[/console#/]

在我的编辑中,只有vim才能正确突出语法。