Silex v0.47.1 / Docs Source canonique ↗

Construire du texte

Une valeur str contient du texte UTF-8 immuable. Vous pouvez assembler des chaînes avec + ou injecter directement une expression avec $(...).

Concaténer et interpoler

func main() {
    let name = "Ada"
    let answer = 42
    let greeting = "Bonjour, " + name

    print(greeting)
    print("La réponse est $(answer)")
}

Le programme affiche :

Bonjour, Ada
La réponse est 42

Seule la séquence $( commence une interpolation. L'expression placée entre parenthèses est évaluée une seule fois. Écrivez $$ pour obtenir un dollar littéral : "$$(answer)" produit le texte $(answer).

Échapper un caractère

Les chaînes reconnaissent notamment \\, \", \n, \r, \t, \0 et \u{H...}. La dernière forme écrit un scalaire Unicode à partir de sa valeur hexadécimale :

let quoted = "\"Silex\""
let smile = "\u{1F642}"

Écrire une chaîne sur plusieurs lignes

Un guillemet immédiatement suivi d'un retour à la ligne commence une chaîne en bloc :

let paragraph = "
    Première ligne.
    Deuxième ligne.
    "

Sa valeur est Première ligne.\nDeuxième ligne.. Silex retire les retours à la ligne structurels d'ouverture et de fermeture, puis retire de chaque ligne non vide l'indentation placée avant le guillemet fermant. Une indentation supplémentaire reste dans la valeur. Tous les retours à la ligne du fichier source sont normalisés en \n.

Le guillemet fermant doit commencer sa ligne, après une éventuelle indentation. Un guillemet contenu ailleurs sur une ligne s'écrit \". Les chaînes en bloc acceptent les mêmes échappements et interpolations que les chaînes ordinaires.

Compter et comparer le texte

count() renvoie le nombre de scalaires Unicode, pas le nombre d'octets UTF-8. Les opérateurs == et != comparent en revanche les octets UTF-8 exacts ; ils n'effectuent aucune normalisation Unicode.

Revenir aux valeurs · Calculer et comparer