Saya suka ungkapan literal ini untuk serangkaian string:
%w( i can easily create arrays of words )
Saya bertanya-tanya apakah ada literal untuk mendapatkan berbagai simbol. Saya tahu saya bisa melakukannya
%w( it is less elegant to create arrays of symbols ).map( &:to_sym )
tetapi akan sangat luar biasa hanya menggunakan huruf harafiah.
%w
notasi?Jawaban:
Iya! Ini dimungkinkan sekarang di Ruby 2.0.0. Salah satu cara untuk menulisnya adalah:
Anda juga dapat menggunakan pembatas lainnya, jadi Anda juga bisa menulis
%i(foo bar)
atau%i!foo bar!
misalnya.Fitur ini awalnya diumumkan di sini:
http://www.ruby-lang.org/zh_TW/news/2012/11/02/ruby-2-0-0-preview1-released/
Itu disebutkan dalam dokumentasi resmi Ruby di sini:
http://ruby-doc.org/core/doc/syntax/literals_rdoc.html#label-Percent+Strings
sumber
%i[foo bar]
,%i{foo bar}
,%i!foo bar!
,%i%foo bar%
.%i[foo bar]
Di Ruby 1.x, sayangnya daftar % -delimiters yang tersedia terbatas
sumber
%x
, tampaknya lebih mudah dibaca daripada notasi backticks yang saya gunakan