LoriotPro Extended Edition Programmation en language LUA

Table des matières

HelpLUA

Les chaînes de caractères

Déclaration de chaînes de caractères, guillements et crochets

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 pour faire une chaîne de caractères ? Cela vous permet d'inclure un type de guillements dans un 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.

Séquences d'échappement

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

Les séquences d'échappement ne sont pasreconnue quand on utilise les doubles parenthèses, ainsi :

> = [[hello\nNew line\tTab]]
hello\nNew line\tTab

Escape Sequence Represents

\a

Bell (alert)

\b

Backspace

\f

Formfeed

\n

New line

\r

Carriage return

\t

Horizontal tab

\v

Vertical tab

\'

Single quotation mark

\ "

Double quotation mark

\\

Backslash

\?

Literal question mark

\ ooo

ASCII character in octal notation

\x hh

ASCII character in hexadecimal notation

\x hhhh

Unicode character in hexadecimal notation if this escape sequence is used in a wide-character constant or a Unicode string literal.

For example, WCHAR f = L'\x4e00' or WCHAR b[] = L"The Chinese character for one is \x4e00".

Guillements multilignes

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 par les doubles crochets.

guillements emboîtés

Les double crochets permettent de emboîtement , mais ils nécessitent que un ou plusieurs signe =soit inséré entre les crochets extérieurs pour les distinguer les ,uns des autres. Cela ne dépend pas de combien de signe = sont insérés, tant que le nombre est le même à l'ouvertrue et à la fermeture des crochets .

> = [[one [[two [[three]] ]] ]]
one [[two [[three]] ]]

Concaténation

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

Fonctions sur chaîne de caractères

Lua fournit tout une gamme des fonctions 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

Voir le chapitre sur les fonctions de chaines de caractères en LUA pour plus de détails.

Coercition

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.

Consulter les option de printf http://en.wikipedia.org/wiki/Printf pour les parametres disponibles à la commande string.format.

 



LUTEUS www.loriotpro.com