Ce n'est pas pour l'internationalisation. «print!» est une macro (comme le point d'exclamation l'indique) qui va vérifier que les paramètres de la chaine de formatage sont corrects. Par exemple avec "{0} {1}" il doit y avoir deux paramètres additionnels. Cette vérification est faite à la compilation (ce qui est bien, comme ça ça n'implique pas un surcout d'analyse de la chaine à l'exécution).
Par contre, on est obligé de mettre une chaine littérale, sinon:
error: format argument must be a string literal.
[^] # Re: Un peu de bike shedding: je n'aime pas leur syntaxe des format string
Posté par Fabimaru (site web personnel) . En réponse à la dépêche Encore une couche de rouille avec Rust 0.11. Évalué à 2.
Ce n'est pas pour l'internationalisation. «print!» est une macro (comme le point d'exclamation l'indique) qui va vérifier que les paramètres de la chaine de formatage sont corrects. Par exemple avec "{0} {1}" il doit y avoir deux paramètres additionnels. Cette vérification est faite à la compilation (ce qui est bien, comme ça ça n'implique pas un surcout d'analyse de la chaine à l'exécution).
Par contre, on est obligé de mettre une chaine littérale, sinon:
error: format argument must be a string literal.