%w[ ] Non-interpolated Array of words, separated by whitespace
%W[ ] Interpolated Array of words, separated by whitespace
p %w{one one two three 0 1 1 2 3} # = > ["one", "one", "two", "three", "0", "1", "1", "2", "3"]
p %W{one one two three 0 1 1 2 3} # = > ["one", "one", "two", "three", "0", "1", "1", "2", "3"]
p %w{C:\ C:\Windows} # => ["C: C:\\Windows"]
p %W{C:\ C:\Windows} # => ["C: C:Windows"]
Mi pregunta es ... ¿cuál es la diferencia?
Compruebe la edición, me gusta su ejemplo, lo explica mucho. La salida de las dos últimas líneas en mi ejemplo me confunde. – RyanScottLewis
Nuevamente, no estás usando una expresión de rubí, no está rodeada por "# {}". La barra diagonal inversa es un personaje especial en Ruby que se usa para interpretar literalmente otros caracteres especiales, y lo está usando en el contexto de una cadena, no de una expresión. Eso explica por qué las barras diagonales inversas se recuperan en la comilla doble y no en la comilla simple. – acconrad
Creo que el punto de c00lryguy es más profundo. 1) A pesar de que ''\'' = '" \\ "', la barra invertida desapareció con '% w {}'. 2) También hay una pregunta general de cuándo se ignora una barra inversa como en '" \ W "' = '" W "' como se ve con '% W {}'. – sawa