J'essaye actuellement de réexprimer une chaîne en plusieurs variables. Exemple de chaîne:
ryan_string = "RyanOnRails: This is a test"
Je l'ai mis en correspondance avec cette expression rationnelle, avec 3 groupes:
ryan_group = ryan_string.scan(/(^.*)(:)(.*)/i)
Maintenant, pour accéder à chaque groupe, je dois faire quelque chose comme ceci:
ryan_group[0][0] (first group) RyanOnRails
ryan_group[0][1] (second group) :
ryan_group[0][2] (third group) This is a test
Cela semble assez ridicule et j'ai l'impression de faire quelque chose de mal. Je m'attendrais à être capable de faire quelque chose comme ceci:
g1, g2, g3 = ryan_string.scan(/(^.*)(:)(.*)/i)
Est-ce possible? Ou y a-t-il une meilleure façon que la façon dont je le fais?
one, two, three = string.match(/(^.*)(:)(.*)/i).captures
en:one, two, three = string.match(/(^.*)(:)(.*)/i).try(:captures)