Qual a diferença entre %w e %W em Ruby?
Quando em maiúsculas %W
, o array é construído a partir de strings que são interpoladas, como aconteceria em uma string entre aspas duplas.
Quando em minúsculas %w
, é construído a partir de strings que não são interpoladas, como aconteceria em uma string entre aspas simples.
Exemplo:
irb(main):001:0> foo = "bar"
=> "bar"
irb(main):002:0> %w(#{foo} bar baz)
=> ["\#{foo}", "bar", "baz"]
irb(main):002:0> %w("#{foo}" bar baz)
=> ["\"\#{foo}\"", "bar", "baz"]
#(Capital W)
irb(main):003:0> %W(#{foo} bar baz)
=> ["bar", "bar", "baz"]
Contato:
Email: contato@diegonovais.com.br
LinkedIn: https://www.linkedin.com/in/diegonovais/
Github: https://github.com/dnovais
Top comments (0)