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 floataffiche 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.10Dans le manuel : Raccourcis