Initialisation depuis une chaîne

On souhaite maintenant créer un compte utilisateur de type Account à partir d'une chaîne de caractère de la forme "login:password". Les prérequis sont :

  • Le login ne contiendra ni caractère : ni retour à la ligne.
  • Le password ne contiendra pas de retour à la ligne.
  1. Écrire une méthode de classe from_string qui prend une chaîne "login:password" en paramètre et qui renvoie un Account :
impl Account {
  pub fn from_string(s: &str) -> Self {
    todo!()
  }
}

Cette méthode supposera que la chaîne donnée respecte les prérequis indiqués ci-dessus. On pourra chercher dans la documentation Rust une méthode appropriée parmi celles disponibles sur le type str.

  1. Dans main(), créez un nouveau compte utilisateur et vérifiez que ce compte contient bien les informations attendues :
fn main() {
  println!("{:?}", Account::from_string("johndoe:super:complex:password"));
}

affichera

Account { login: "johndoe", password: "super:complex:password" }