%w(数组)是什么意思?

我正在查看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...
    
    链接地址: http://www.djcxy.com/p/10181.html

    上一篇: What does %w(array) mean?

    下一篇: Creating default object from empty value in PHP?