Obecnie próbuję przekształcić ciąg na wiele zmiennych. Przykładowy ciąg:
ryan_string = "RyanOnRails: This is a test"
Dopasowałem to do tego wyrażenia regularnego z trzema grupami:
ryan_group = ryan_string.scan(/(^.*)(:)(.*)/i)
Teraz, aby uzyskać dostęp do każdej grupy, muszę zrobić coś takiego:
ryan_group[0][0] (first group) RyanOnRails
ryan_group[0][1] (second group) :
ryan_group[0][2] (third group) This is a test
Wydaje się to dość śmieszne i wydaje mi się, że robię coś złego. Spodziewałbym się, że będę mógł zrobić coś takiego:
g1, g2, g3 = ryan_string.scan(/(^.*)(:)(.*)/i)
czy to możliwe? A może jest lepszy sposób niż to, jak to robię?
one, two, three = string.match(/(^.*)(:)(.*)/i).captures
na:one, two, three = string.match(/(^.*)(:)(.*)/i).try(:captures)