Syntaxe

Construit une chaîne à partir de texte et de trous : chaque {expression} est remplacé par Str(expression), et la chaîne devient une concaténation.

$"<text>{<expression>}<text>…"
{{
}}

S’écrit aussi : $"

Les éléments

<text>Du texte littéral, gardé tel quel. {{ et }} donnent une accolade littérale.
<expression>Toute expression qui donne un nombre ou une chaîne, appel compris : {Upper(name$)}. Elle ne peut pas contenir de chaîne littérale.

À savoir

  • Le $ est obligatoire et doit toucher le guillemet ouvrant. Une chaîne sans $ reste intacte, donc un JSON avec accolades reste une donnée : "{\"size\":256}".
  • Un trou se termine au premier }. Un " dans un trou termine toute la chaîne, et le compilateur signale une { non fermée. Mettez d’abord le texte dans une variable.
  • Un trou vide {} est refusé (« Empty {} in interpolated string »), tout comme une { non fermée (« Unclosed { in interpolated string »). Une } seule hors d’un trou est gardée telle quelle.
  • Il n’y a pas de partie format comme en C#. {n:2} n’est pas refusé, mais le programme ne démarre pas. Arrondissez ou complétez dans le trou : {Str(n, 2)}.
  • Une variable AS float affiche tous les chiffres de sa valeur 32 bits : 0.1 s’affiche 0.10000000149011612. Arrondissez-la dans le trou, comme dans l’exemple.
  • AGK, DarkBASIC et PureBasic n’ont pas d’interpolation : ils collent avec + et Str(). L’écriture $"…" vient de C#.

Exemple

name$ = "Ada"lives = 3speed AS float = 0.1Console($"{name$} has {lives} lives")      ' Ada has 3 livesConsole($"next life at {1250 + 750}")      ' next life at 2000Console($"{{braces}} and {Len(name$)}")    ' {braces} and 3Console($"speed {Str(speed, 2)}")          ' speed 0.10
Dans le manuel : Raccourcis

Commandes associées