Ajouter un commentaire

Rust 1.58

Par:
fredericmazue

lun, 17/01/2022 - 17:39

L'équipe du langage Rust a annoncé la sortie de Rust 1.58. L'apport le plus notable de cette version est la capture d'identifiants dans les chaînes de format.

Les chaînes de format peuvent désormais capturer des arguments simplement en écrivant {ident} dans la chaîne. Si les formats ont depuis longtemps accepté des arguments positionnels (éventuellement par index) et des arguments nommés, désormais, les arguments nommés peuvent également être capturés à partir de la portée environnante. Par exemple :

let person = get_person();
// ...
println!("Hello, {person}!"); // captures the local `person`

Cela peut également être utilisé dans les paramètres de formatage :

let (width, precision) = get_format();
for (name, score) in get_scores() {
  println!("{name}: {score:width$.precision$}");
}

Les chaînes de format ne peuvent capturer que des identifiants simples, pas des chemins ou des expressions arbitraires. Pour les arguments plus compliqués, affectez-les d'abord à un nom local ou utilisez l'ancien style d'arguments de formatage name = expression.

Cette fonctionnalité fonctionne dans toutes les macros acceptant les chaînes de format. Cependant, un cas particulier est la macro panic! dans les éditions 2015 et 2018, où panic!("{ident}") elle est toujours traitée comme une chaîne non formatée.

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 FFFF  BBBB    CCC  K  K  K  K 
F B B C K K K K
FFF BBBB C KK KK
F B B C K K K K
F BBBB CCC K K K K