Ansicht umschalten
Avatar von die kleine Himbeere
  • die kleine Himbeere

mehr als 1000 Beiträge seit 25.10.2012

Re: Warum macht man es denn nicht mit streams wie in C++?

Olaf Klischat schrieb am 14.01.2022 14:54:

Für Lokalisierungen zum Beispiel ist das im Vergleich zu Formatstrings denkbar ungeeignet, würde ich sagen.

Genau das ist der Knackpunkt. Die Reihenfolge der einzufügenden Strings ist häufig von der Satzstellung und damit der Sprache abhängig.

Die iostreams-Methode ist für so etwas völlig untauglich, und daher eigentlich nur für maschinenlesbare Texte sinnvoll welche unabhängig von der Sprache immer auf dieselbe Weise eingelesen und interpretiert werden. Also Config-Files und dergleichen. Dafür reicht es.

Aber in allen Fällen wo Menschen die ausgegebenen Texte direkt zu Gesicht bekommen sollen, und die somit möglicherweise einst übersetzt werden müssen, taugen nur Lösungen mit String-Interpolation wie die POSIX-Variante von printf() oder eben dieses neue Rust-Makro.

Letzteres ist sogar insofern noch besser, als die Einfügeposition durch einen Bezeichner gekennzeichnet wird und nicht über die Reihenfolge der Argumente wie bei printf(). Dabei kann man sich einfach zu leicht irren.

Bewerten
- +
Ansicht umschalten