Ich mag diesen wörtlichen Ausdruck für eine Reihe von Zeichenfolgen:
%w( i can easily create arrays of words )
Ich frage mich, ob es ein Literal gibt, um eine Reihe von Symbolen zu erhalten. Ich weiß, dass ich es kann
%w( it is less elegant to create arrays of symbols ).map( &:to_sym )
aber es wäre so wunderbar, nur ein wörtliches Wort zu verwenden.
%w
Notation?Antworten:
Ja! Dies ist jetzt in Ruby 2.0.0 möglich. Eine Möglichkeit, es zu schreiben, ist:
Sie können auch andere Trennzeichen verwenden, um auch zu schreiben
%i(foo bar)
oder%i!foo bar!
zum Beispiel.Diese Funktion wurde ursprünglich hier angekündigt:
http://www.ruby-lang.org/zh_TW/news/2012/11/02/ruby-2-0-0-preview1-released/
Es wird in der offiziellen Dokumentation von Ruby hier erwähnt:
http://ruby-doc.org/core/doc/syntax/literals_rdoc.html#label-Percent+Strings
quelle
%i[foo bar]
,%i{foo bar}
,%i!foo bar!
,%i%foo bar%
.%i[foo bar]
In Ruby 1.x ist die Liste der verfügbaren % -Deimiter leider begrenzt
quelle
%x
, scheint besser lesbar als die Backticks-Notation, die ich benutze