Пробел в рубиновом массиве на% w


83

Как добавить пробел в массив рубинов, если я хочу использовать синтаксис% w (abc)?


13
Их %w()синтаксис предназначен для использования в общем случае. В этом случае я бы рекомендовал использовать более подробный синтаксис ['a', ' ', 'b']. Более читабельный, менее удивительный для других программистов.
Бен Марини

Ответы:


168

Избежать этого:

%w(a b\ c) # => ["a", "b c"]

2
Благодарю. После вашего ответа я понимаю, как я могу это сделать. Я хотел именно это -% w (a \ bc) # => ["a", "", "b", "c"]
Василий Ермолович

4
Хотя это «правильный» ответ, он ужасно нечитабелен, что противоречит цели %w. Не делай этого.
тройник

Это вообще-то умный @VasiliyErmolovich. В Ruby есть всевозможные «уловки», и я всегда нахожу новые способы выразить вещи с помощью языка. Каким бы нечитабельным он ни казался, хорошо, что язык Ruby в первую очередь поддерживает синтаксис вашего ответа!
danielricecodes

3
Справедливо отметить, что руководство по стилю сообщества Ruby предпочитает этот синтаксис только при создании массива слов : «непустые строки без пробелов и специальных символов». Так что ты прав, тебе, наверное, никогда не следует делать то, что я предлагал.
Гарет


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.