红宝石和黄瓜 - 这是什么意思? “([^”] *)“$ /

时间:2012-03-24 15:21:03

标签: ruby-on-rails ruby windows syntax cucumber

我只想弄清楚以下Ruby中的含义。

"([^"]*)"$/   

我目前在Ruby中使用黄瓜有以下代码示例:

require "watir-webdriver"
require "rspec/expectations"

Given /^I have entered "([^"]*)" into the query$/ do |term|
   @browser ||= Watir::Browser.new :firefox
   @browser.goto "google.com"
   @browser.text_field(:name => "q").set term
end

When /^I click "([^"]*)"$/ do |button_name|
   @browser.button.click
end

Then /^I should see some results$/ do
  @browser.div(:id => "resultStats").wait_until_present
  @browser.div(:id => "resultStats").should exist
  @browser.close
end

目前我理解它正在进行逻辑检查,点击了一个按钮。我做了一些研究,并发现以下Ruby中的符号含义(因为我是Ruby的新手)

? = method returns a boolean value.   
$ = global variable   
@ = instance variable   
@@ = class variable.   
^ = bitwise XOR operator.   
* = unpack array 

我无法找到命令的作用。我试图澄清函数如何与变量相关联,我认为这是我的最终线索。

非常感谢您的任何帮助。

1 个答案:

答案 0 :(得分:7)

这是一个正则表达式。表达式包含在“/”字符之间。

通过示例并使用您的代码:

/^I have entered "([^"]*)" into the query$/

被解释为一个字符串:

  • 匹配行的开头(^)
  • 匹配“我已进入”
  • 匹配单引号
  • (“)匹配不是引用的所有内容(([^”] *))
  • 匹配“查询”
  • 匹配单引号(“)
  • 匹配$
  • 行的结尾

有关Ruby和正则表达式的更多信息,请参阅http://www.tutorialspoint.com/ruby/ruby_regular_expressions.htm

相关问题