我正在查看 FileUtils 的文档。我对以下几行感到困惑:
FileUtils.cp %w(cgi.rb complex.rb date.rb), '/usr/lib/ruby/1.6'
%w
是什么意思?你能指点我的文件吗?
%w(foo bar)
是["foo", "bar"]
的快捷方式。这意味着它是一种表示字符串数组的符号,这些字符串由空格而不是逗号分隔,并且没有引号。您可以在zenspider 的 quickref 中找到编写文字的方法列表。
我认为%w()
是一个 “字数组” - 元素由空格分隔,它返回一个字符串数组。
还有其他%文字:
%r()
是编写正则表达式的另一种方法。 %q()
是另一种编写单引号字符串的方法(可以是多行的,这很有用) %Q()
给出一个双引号字符串%x()
是一个 shell 命令%i()
给出一个符号数组(Ruby> = 2.0.0) %s()
将foo
变成符号( :foo
) 我不认识任何人,但可能有一些潜伏在那里......
还有%s
允许您创建任何符号,例如:
%s|some words| #Same as :'some words'
%s[other words] #Same as :'other words'
%s_last example_ #Same as :'last example'
从 Ruby 2.0.0 开始,您还拥有:
%i( a b c ) # => [ :a, :b, :c ]
%i[ a b c ] # => [ :a, :b, :c ]
%i_ a b c _ # => [ :a, :b, :c ]
# etc...