Как использовать ':' для выделения слов в% w'dog: cat: bird 'без разделения - PullRequest
0 голосов
/ 21 января 2012

Я пытаюсь сделать %w'dog:cat:bird', но я хочу, чтобы символ, разделяющий слова, был: вместо пробела, как %w в настоящее время.

Я не хочу использовать .split, так как в реальном коде я использую несколько разных % идиом для разных нужд, и я хотел бы использовать только один синтаксис.

1 Ответ

5 голосов
/ 21 января 2012

Я только что проверил в "Языке программирования Ruby" Мэтца и Дэвида Фланагана, и оказалось, что литералы массива, созданные с% w , должны использовать пробелы для разделения элементов.Если вы действительно хотите иметь массивы строк, разделенных символом «:», и не хотите использовать «split» в коде, я предлагаю вам определить собственный метод, который позволит вам моделировать желаемое поведение,может быть что-то вроде:

class Object
  def w(str)
    str.split(":")
  end
end

Тогда вы можете написать что-то вроде:

w'a:b:c'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...