В настоящее время я пытаюсь преобразовать строку в несколько переменных. Пример строки:
ryan_string = "RyanOnRails: This is a test"
Я сопоставил его с этим регулярным выражением с 3 группами:
ryan_group = ryan_string.scan(/(^.*)(:)(.*)/i)
Теперь, чтобы получить доступ к каждой группе, мне нужно сделать что-то вроде этого:
ryan_group[0][0] (first group) RyanOnRails
ryan_group[0][1] (second group) :
ryan_group[0][2] (third group) This is a test
Это кажется довольно смешным, и мне кажется, что я делаю что-то не так. Я ожидал, что смогу сделать что-то вроде этого:
g1, g2, g3 = ryan_string.scan(/(^.*)(:)(.*)/i)
Это возможно? Или есть способ лучше, чем я?
one, two, three = string.match(/(^.*)(:)(.*)/i).captures
на:one, two, three = string.match(/(^.*)(:)(.*)/i).try(:captures)