| Documentation language LUA |
Les chaînes de caractères |
Des chaînes de caractères peuvent être définies utilisant des guillements simples, de doubles guillements, ou de doubles crochets.
> = "bonjour"
bonjour
>= 'bonjour '
bonjour
>= [ [ bonjour ] ]
bonjour
Pourquoi tant de manières de faire une chaîne de caractères ? Elle vous permet de joindre un type de guillements dans l'autre par exemple,
> = 'hello "Lua user"'
hello "Lua user"
>
= "Its [[content]] hasn't got a substring."
Its [[content]] hasn't got a substring.
>
= [[Let's have more "strings" please.]]
Let's have more "strings" please.
Les chaînes de caractères encadrées par double crochets ont également quelques autres propriétés spéciales, abordées ci-dessous.
Lua peut également manipuler des séquences d'échappement comme en C.
> = "hello \"Lua user\""
hello "Lua user"
> = 'hello\nNew line\tTab'
hello
New line Tab
Des séquences d'échappement ne sont pas identifiés à l'aide de doubles parenthèses, ainsi :
> = [[hello\nNew line\tTab]]
hello\nNew line\tTab
De doubles crochets peuvent être utilisés pour enfermer les chaînes de caractères littérales qui traverse plusieurs lignes par exemple,
> = [[Multiple lines of text
>>
can be enclosed in double square
>>
brackets.]]
Multiple lines of text
can be enclosed in double square
brackets.
Des lignes multiples du texte peuvent être jointes dans de doubles crochets.
Seulement les doubles crochets permettent l'emboîtement :
> = [[one [[two [[three]] ]] ]]
one [[two [[three]] ]]
Des chaînes de caractères peuvent être jointes en
utilisant l'opérateur de concaténation "..". par
exemple,
> = "hello" .. " Lua user"
hello Lua user
>
who = "Lua user"
>
= "hello "..who
hello Lua user
Des nombres peuvent être enchaînés aux chaînes de caractères . Dans ce cas-ci ils sont contraints dans des chaînes de caractères et alors enchaînés. Vous pouvez lire plus au sujet de la coercition ci-dessous.
> = "Green bottles: "..10
Green bottles: 10
>
= type("Green bottles: "..10)
string
Lua assure une gamme des fonctions utiles pour le traitement des chaînes de caractères dans sa bibliothèque standard. Ci-dessous quelques exemples de l'utilisation de la bibliothèque de chaîne de caractères.
> = string.byte("ABCDE", 2) -- return the ASCII
value of the second
character
66
> = string.char(65,66,67,68,69) -- return a string constructed from ASCII
values
ABCDE
>
= string.find("hello Lua user", "Lua") -- find substring "Lua"
7 9
>
= string.find("hello Lua user", "l+") -- find one or more
occurrences of "l"
3 4
>
= string.format("%.7f", math.pi) -- format a number
3.1415927
>
= string.format("%8s", "Lua") -- format a string
Lua
Lua exécute la conversion automatique des nombres en chaînes de caractères et vice versa si c'est approprié. Ceci s'appelle la coercition.
> = "This is Lua version " .. 5.0 .. " we are using."
This is Lua version 5 we are using.
>
= "Pi = " .. math.pi
Pi = 3.1415926535898
>
= "Pi = " .. 3.1415927
Pi = 3.1415927
Ci-dessus, pendant la coercition,
nous n'avons pas le plein contrôle du formatage de la conversion. Pour formater
le nombre comme nous le souhaitons en chaîne de caractères nous pouvons
employer la fonction string.format() comme dans l' exemple ci-dessous,
> = string.format("%.3f", 5.0)
5.000
>
= "Lua version " .. string.format("%.1f", 5.0)
Lua version 5.0
C'est une conversion explicite en utilisant une fonction pour convertir le nombre, plutôt que d'utiliser la coercition. Vous pouvez lire plus au sujet de la coercition des nombres dans Nombres.
www.loriotpro.com |
|