这么多的Ruby语言的方法,而不是语法,所以我希望能够找到%q,%w等等,定义为方法Kernel类.但是,他们不在那里.
那他们在哪里定义?他们是语言关键词吗?
the*_*Man 30
相关的%q{}和%Q{}是%{}这是一样的%Q{}.此外,分隔符" {}"我告诉可以匹配对分隔符的,所以你可以使用[],()等%q{}是一样的使用单引号来分隔字符串.%Q{}与使用双引号相同,允许插入嵌入的字符串:
%q{foobar} # => "foobar"
%Q{foobar} # => "foobar"
asdf = 'bar' # => "bar"
%q{foo#{asdf}} # => "foo\#{asdf}"
%Q{foo#{asdf}} # => "foobar"
Run Code Online (Sandbox Code Playgroud)
此外,还有%w{}一个使用空格将字符串拆分为数组.例如:
%w[a b c] # => ["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)
%w{} 不插入嵌入变量:
%w[a b asdf] # => ["a", "b", "asdf"]
%w[a b #{asdf}] # => ["a", "b", "\#{asdf}"]
Run Code Online (Sandbox Code Playgroud)
并%r{}定义了正则表达式:
%r{^foo}.class # => Regexp
Run Code Online (Sandbox Code Playgroud)
最后有%x{}一些像反引号的行为,即"``",将字符串传递给底层操作系统.把它想象成"exec":
%x{date} # => "Fri Nov 26 15:08:44 MST 2010\n"
Run Code Online (Sandbox Code Playgroud)
很多Ruby的想法,这些快捷方式来自Perl中,只有在Perl他们使用q{},qq{},qw{},qx{}和qr{}.领先q代表"引用",如果我没记错的话,它们会被视为"引用"操作符.Ruby的文档需要扩展,这个特定的工具集肯定可以使用一些帮助.
Chr*_*sen 25
它们在解析器中被"硬编码"; 看到
查找相关代码的最简单方法是查找第二次出现的str_sword(单引号WORD).所有的"分隔输入"语法定义有:%Q,%q,%W,%w,%x,%r,和%s(如上文引用两个版本定义了相同的组分隔的输入标记的).
| 归档时间: |
|
| 查看次数: |
7858 次 |
| 最近记录: |