Spacja w tablicy ruby ​​o% w

83

Jak mogę dodać znak spacji w tablicy ruby, jeśli chcę używać składni% w (abc)?

Wasilij Ermolowicz
źródło
13
Oni %w()składnia służy jako skrót do odbycia wspólnej sprawy. ['a', ' ', 'b']W tym przypadku zalecałbym użycie bardziej szczegółowej składni . Bardziej czytelny, mniej zaskakujący dla innych programistów.
Ben Marini

Odpowiedzi:

168

Ucieknij z tego:

%w(a b\ c) # => ["a", "b c"]
Gareth
źródło
2
Dzięki. Po Twojej odpowiedzi rozumiem, jak mogę to zrobić. Chciałem tylko tego -% w (a \ bc) # => ["a", "", "b", "c"]
Wasilij Ermolovich
4
Chociaż jest to „poprawna” odpowiedź, jest okropnie nieczytelna, co jest sprzeczne z celem %w. Nie rób tego.
tee
To właściwie całkiem sprytne @VasiliyErmolovich. Ruby ma wiele „sztuczek” i zawsze znajduję nowe sposoby wyrażania rzeczy za pomocą języka. Choć może to być nieczytelne, to fajne, że język Ruby obsługuje składnię w twojej odpowiedzi!
danielricecodes
3
Należy zauważyć, że przewodnik po stylu społeczności Rubiego preferuje taką składnię tylko wtedy, gdy tworzysz tablicę słów : „niepuste ciągi znaków bez spacji i znaków specjalnych”. Więc masz rację, prawdopodobnie nigdy nie powinieneś robić tego, co sugerowałem.
Gareth
16

Spróbuj tego:

>> a = %w(a\  b c)
=> ["a ", "b", "c"]
Sudhanshu
źródło
1

Spróbuj tego:

>> a = %W[a \s b]
=> ["a", " ", "b"]
nguyentrung206
źródło