165 votos

Hay un literal de notación para un conjunto de símbolos?

Me gusta esta expresión literal de una matriz de cadenas:

%w( i can easily create arrays of words )

Me pregunto si hay un literal para obtener un conjunto de símbolos. Sé que puedo hacer

%w( it is less elegant to create arrays of symbols ).map( &:to_sym )

pero sería tan maravilloso sólo para usar un literal.

269voto

David Grayson Puntos 22459

¡Sí! Esto es posible ahora en Ruby 2.0.0. La notación es:

%i(foo bar)  # => [:foo, :bar]

Fuente: http://www.ruby-lang.org/zh_TW/news/2012/11/02/ruby-2-0-0-preview1-released/

25voto

Gareth Puntos 42402

No, por desgracia, la lista de los disponibles %-delimitadores es limitado

Modifier    Meaning
%q[ ]       Non-interpolated String (except for \\ \[ and \])
%Q[ ]       Interpolated String (default)
%r[ ]       Interpolated Regexp (flags can appear after the closing delimiter)
%s[ ]       Non-interpolated Symbol
%w[ ]       Non-interpolated Array of words, separated by whitespace
%W[ ]       Interpolated Array of words, separated by whitespace
%x[ ]       Interpolated shell command

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X