其他答案实际上都没有回答这个问题。
这是百分号符号表示法。百分号符号表示下一个字符是一个字面上的分隔符,并且您可以使用任何(非数字/字母)分隔符。例如:
%{stuff}
%[stuff]
%?stuff?
等等。这使您可以在字符串中放置双引号、单引号等,而无需转义:
%{foo='bar with embedded "baz"'}
返回文字字符串:
foo='bar with embedded "baz"'
百分号可以后跟字母修饰符以确定如何插值字符串。例如,%Q[ ]
是一个插值字符串,%q[ ]
是一个非插值字符串,%i[ ]
是一组非插值符号等等。因此,例如:
%i#potato tuna#
返回此符号数组:
[:potato, :tuna]
详情请见:Wikibooks
"百分比字面值"通常是谷歌信息的好方法:
#{}
被称为 "字符串插值"。
Given %{I enter “#{User.first.username}” in “username”}
中的%{
,我找不到它。%{
是打字错误还是 Cucumber DSL 的一部分? - Jonas ElfströmGiven "I enter \“#{User.first.username}\” in \“username\”"
)。 - Michael Kohl%{一些文本}
,%[一些文本]
但也包括%#一些文本#
和%'一些文本'
甚至%%一些文本%
。 - Koen.%()
,例如:https://www.relishapp.com/womply/ruby-style-guide/docs/percent-literals - Michael Kohl