Ruby: scinde une chaîne en caractères, en comptant à partir de la droite

Version courte-Comment dois-je faire en Python rsplit() en ruby?

Version longue -- Si je veux découper une chaîne en deux parties (nom, suffixe) au premier caractère'.', cela ne fera très bien l'affaire:

name, suffix = name.split('.', 2)

Mais si je veux couper à la dernier (à l'extrême droite) caractère'.', je n'ai pas été en mesure de trouver quelque chose de plus élégant que cette:

idx = name.rindex('.')
name, suffix = name[0..idx-1], name[idx+1..-1] if idx

Noter que le nom d'origine de la chaîne ne peut pas avoir un point du tout, auquel cas le nom doit être intacte et le suffixe doit être nul; il peut également avoir plus d'un point, dans ce cas, seul le bit après la finale devrait être le suffixe.

InformationsquelleAutor jpatokal | 2009-12-04