Ich versuche gerade, einen String in mehrere Variablen umzuwandeln. Beispielzeichenfolge:
ryan_string = "RyanOnRails: This is a test"
Ich habe es mit diesem regulären Ausdruck mit 3 Gruppen abgeglichen:
ryan_group = ryan_string.scan(/(^.*)(:)(.*)/i)
Um nun auf jede Gruppe zuzugreifen, muss ich Folgendes tun:
ryan_group[0][0] (first group) RyanOnRails
ryan_group[0][1] (second group) :
ryan_group[0][2] (third group) This is a test
Das scheint ziemlich lächerlich und es fühlt sich an, als würde ich etwas falsch machen. Ich würde erwarten, dass ich so etwas tun kann:
g1, g2, g3 = ryan_string.scan(/(^.*)(:)(.*)/i)
Ist das möglich? Oder gibt es einen besseren Weg als wie ich es mache?
one, two, three = string.match(/(^.*)(:)(.*)/i).captures
in:one, two, three = string.match(/(^.*)(:)(.*)/i).try(:captures)