0

我想用 ruby​​_expect 自动化一些配置会话。但是有一个问题。我有一个会话,其提示是console#.

所以我有这个代码块:

expect /console#/ do
  send "foobar"
end

你看,expect 头中有这个 #,Ruby 现在把它/ do当作注释,但失败了。我在 Ruby regexps 的文档中搜索,似乎 # 是一个非控制字符,并且可能不会被转义,因为解析器不会理解这一点。

我怎样才能将此代码块实现为工作块,而不将 # 解释为注释指示符?

4

1 回答 1

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 的语法高亮显示正确。

于 2013-08-16T08:49:15.513 回答