Hat Rost Unterstützung der Ruby-like-string-interpolation?
In Ruby, ich könnte dies tun.
aaa = "AAA"
bbb = "BBB #{aaa}"
puts(bbb)
> "BBB AAA"
Den Punkt dieser syntax ist die Beseitigung von Wiederholungen, und machen es zu fühlen, wie ein shell-Skript, - ideal für schweren string-manipulation.
Macht Rost unterstützen diese? Haben oder planen, dies zu unterstützen? Oder haben einige Funktion, die imitieren das?
- Kurze Antwort: Nein, nicht die Art der interpolation.
- Es ist ein Rost RFC für diese. Fühlen Sie sich frei, um upvote.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Rost hat die string-Formatierung.
In die Rost-version, es wird keine zusätzliche Wiederholung, sondern Sie müssen explizit aufrufen
format!()
und die eingefügten Werte sind getrennt von der saite. Dies ist im Grunde die gleiche Weise, dass Python und C# - Entwicklern verwendet werden, um Dinge zu tun, und die Begründung ist, dass diese Technik macht es einfacher zu lokalisieren code in anderen Sprachen.Den Rost mailing-Liste hat eine archivierte Diskussion ( [Rost-dev] Vorschläge ), in dem die verschiedenen Arten von string-interpolation diskutiert werden.
format!("BBB {name}", name = a)
. (Vermutlich wäre es tatsächlich möglich sein, mit der gleichen Analyse & makro-Infrastruktur alsformat
verwendet, um zu erreicheninline_fmt!("BBB {a}")
, obwohl hygiene erfordern einige tricks, das zu umgehen.)