Difference between revisions of "Category:LSL String/fr"

From Second Life Wiki
Jump to navigation Jump to search
(Première traduction en Français)
(Proofread)
Line 2: Line 2:
{{LSL Header}}
{{LSL Header}}
<div style="float:right">__TOC__</div>
<div style="float:right">__TOC__</div>
Un String (chaine) est une donnée texte. La longueur du string est limitée uniquement par la [[script memory]] disponible.
Un string (chaine) est une donnée de texte. La longueur du string est limitée uniquement par la [[script memory|mémoire du script]] disponible.
En texte LSL, les données String sont comprises entre des guillemets (exemple : "chaine" )
Au sein du code LSL, les données string sont comprises entre des guillemets (exemple : "chaine").
N'importe quel caractère peut être utilisé dans un String, toutefois il faudra utiliser un code pour certains.
N'importe quel caractère peut être utilisé dans un string, toutefois il faudra utiliser un code pour certains.


Les strings peuvent être assemblés en utilisant l'opérateur '''+'''
Les strings peuvent être assemblés en utilisant l'opérateur '''+'''
Line 21: Line 21:
|| \" || guillemets
|| \" || guillemets
|-
|-
|| \\ || antislash
|| \\ || barre oblique inverse
|}
|}
</div>
</div>
Line 34: Line 34:
"Au " + "secours"
"Au " + "secours"
EOF
EOF
//Les deux Strings suivants sont similaires :
//Les deux strings suivants ont la même valeur :
"Je veux,\ntu veux,\nnous voulons tous,\ndu Nutella!"
"Je veux,\ntu veux,\nnous voulons tous,\ndu Nutella!"
"Je veux,
"Je veux,
Line 43: Line 43:
|}
|}


Note: les codes de remplacement (listés ci-dessus) sont traduits quand le script est compilé, et non pendant qu'il est exécuté.
Note : les codes de remplacement (énumérés ci-dessus) sont traduits quand le script est compilé, et non pendant qu'il est exécuté.
En conséquence, seuls les strings qui sont à l'intérieur du script lorsqu'il est compilé seront traduits (par exemple \n deviendra le caractère "à la ligne")
En conséquence, seuls les strings qui sont à l'intérieur du script lorsqu'il est compilé seront traduits (par exemple \n deviendra le caractère "à la ligne")
Le texte lu à partir d'une notecard, du chat, d'http etc... ne seront pas examinés pour y repérer les codes de remplacement. le même \n s'il est écrit dans une notecard ne donnera pas "à la ligne" de facon automatique. Il faudra le faire vous-même si vous en avez besoin.
Le texte lu à partir d'une notecard, du chat, d'HTTP etc... ne seront pas examinés pour y repérer les codes de remplacement. Le même \n, s'il est écrit dans une notecard, ne donnera pas "à la ligne" de facon automatique. Il faudra le faire vous-même si vous en avez besoin.


Note: Les utilisateurs de LSL qui connaissent le langage C ou le Java risquent d'être déroutés au début par les règles LSL concernant les codes de remplacement. En LSL, "\n" signifie llUnescapeURL("%0A"), comme en C et en Java, mais "\t" signifie llUnescapeURL("%20%20%20%20") et non llUnescapeURL("%09"), tout comme "\r" signifie "r" et non llUnescapeURL("%0D"), etc.
Note: Les utilisateurs de LSL qui connaissent le langage C ou le Java risquent d'être déroutés au début par les règles LSL concernant les codes de remplacement. En LSL, "\n" signifie llUnescapeURL("%0A"), comme en C et en Java, mais "\t" signifie llUnescapeURL("%20%20%20%20") et non llUnescapeURL("%09"), tout comme "\r" signifie "r" et non llUnescapeURL("%0D"), etc.
Line 54: Line 54:
}}
}}
<div id="box">
<div id="box">
== Variable: string {{LSL Param|name}}; ==
== Variable: string {{LSL Param|nom}}; ==
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
<pre>string name;</pre>
<pre>string nom;</pre>
Déclare une variable de type string appelée '''name''', avec la valeur {{HoverText|""|empty string}}
Déclare une variable de type string appelée '''nom''', avec la valeur {{HoverText|""|chaîne vide}}
{|
{|
{{LSL DefineRow|variable|name|{{#var:p_name_desc}}}}
{{LSL DefineRow|variable|nom|{{#var:p_name_desc}}}}
|}
|}
</div></div>
</div></div>


<div id="box">
<div id="box">
== Variable: string {{LSL Param|name}} {{=}} {{LSL Param|value}}; ==
== Variable: string {{LSL Param|nom}} {{=}} {{LSL Param|valeur}}; ==
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
<pre>string name = value;</pre>
<pre>string nom = valeur;</pre>
Déclare une variable de type string appelée '''name''', avec comme valeur '''value'''.
Déclare une variable de type string appelée '''nom''', avec comme valeur '''valeur'''.
{|
{|
{{LSL DefineRow|variable|name|{{#var:p_name_desc}}}}
{{LSL DefineRow|variable|nom|{{#var:p_name_desc}}}}
{{LSL DefineRow|expression|value|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|valeur|{{#var:p_value_desc}}}}
|}
|}
</div></div>
</div></div>


<div id="box">
<div id="box">
== [[Typecast]]: (string){{LSL Param|value_t|value}} ==
== [[Typecast|Changement de type]]: (string) {{LSL Param|value_t|valeur}} ==
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
<pre>(string)value</pre>
<pre>(string) value</pre>
Convertit '''value''' en variable de type string.
Convertit '''valeur''' en variable de type string.
{|
{|
{{LSL DefineRow|expression|value|{{#var:p_value_t_desc}}}}
{{LSL DefineRow|expression|valeur|{{#var:p_value_t_desc}}}}
|}
|}
</div></div>
</div></div>
Line 86: Line 86:
<div id="box">
<div id="box">


== [[LSL Operators|Operators]] ==  
== [[LSL Operators|Operateurs]] ==  
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
Voir [[LSL Operators|Operators]] pour en savoir plus.
Voir [[LSL Operators|Operators]] pour en savoir plus.
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;">
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;">
=== Combinaison : {{LSL Param|value|value1}} + {{LSL Param|value|value2}} ===
=== Combinaison : {{LSL Param|value|valeur1}} + {{LSL Param|value|valeur2}} ===
<pre>(value1 + value2)</pre>
<pre>(valeur1 + valeur2)</pre>
Assemble deux strings en un seul, sans modifier les contenus. Ajoute '''value2''' à '''value1''' et renvoie le string qui en résulte.
Combine deux strings en un seul, sans modifier les contenus. Ajoute '''valeur2''' à '''valeur1''' et renvoie le string qui en résulte.
{|
{|
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|valeur1|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|value2|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|valeur2|{{#var:p_value_desc}}}}
|}
|}
</div>
</div>
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;">
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;">


=== Comparaison : {{LSL Param|value|value1}} <nowiki>==</nowiki> {{LSL Param|value|value2}} ===
=== Comparaison : {{LSL Param|value|valeur1}} <nowiki>==</nowiki> {{LSL Param|value|valeur2}} ===
<pre>(value1 == value2)</pre>
<pre>(valeur1 == valeur2)</pre>
Compare deux strings, renvoie {{HoverText|one|1}} s'ils ont la même longueur et les mêmes caractères, sinon renvoie zéro.
Compare deux strings, renvoie {{HoverText|un|1}} s'ils ont la même longueur et les mêmes caractères, sinon renvoie zéro.
Cet opérateur fonctionne exactement comme <code>!strcmp('''value1''', '''value2''')</code> en langage C, mais diffère techniquement du comportement peu intuitif de l'opérateur == en C et Java.
Cet opérateur fonctionne exactement comme <code>!strcmp('''valeur1''', '''valeur2''')</code> en langage C, mais diffère techniquement du comportement peu intuitif de l'opérateur == en C et Java.
{|
{|
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|valeur1|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|value2|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|valeur2|{{#var:p_value_desc}}}}
|}
|}
</div>
</div>
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;">
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;">
=== Comparaison : {{LSL Param|value|value1}} != {{LSL Param|value|value2}} ===
=== Comparaison : {{LSL Param|value|valeur1}} != {{LSL Param|value|valeur2}} ===
<pre>(value1 != value2)</pre>
<pre>(valeur1 != valeur2)</pre>
Compare deux strings, renvoie {{HoverText|zero|0}} s'ils ont la même longueur et les mêmes caractères, sinon renvoie non-zero.
Compare deux strings, renvoie {{HoverText|zéro|0}} s'ils ont la même longueur et les mêmes caractères, sinon renvoie une valeur non nulle.
Cet opérateur fonctionne exactement comme <code>strcmp('''value1''', '''value2''')</code> en C, mais diffère techniquement du comportement peu intuitif de l'opérateur != en C et en Java.
Cet opérateur fonctionne exactement comme <code>strcmp('''value1''', '''value2''')</code> en C, mais diffère techniquement du comportement peu intuitif de l'opérateur != en C et en Java.
{|
{|
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|valeur1|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|value2|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|valeur2|{{#var:p_value_desc}}}}
|}
|}
</div>
</div>
Line 137: Line 137:
=== Voir les fonctions strings dans [[Library_Combined_Library|CombinedLibrary]] ===
=== Voir les fonctions strings dans [[Library_Combined_Library|CombinedLibrary]] ===
{|
{|
{{LSL DefineRow||[[Library_Combined_Library#str_replace|str_replace]]|remplace toutes les instances d'un string par un autre string dans un string cible.}}
{{LSL DefineRow||[[Library_Combined_Library#str_replace|str_replace]]|Remplace toutes les occurences d'un string par un autre string dans un string cible.}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimRight]]|Efface les caractères à partir de la droite du string}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimRight]]|Efface les caractères à partir de la droite du string}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimLeft]]|Efface les caractères à partir de la gauche du string}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimLeft]]|Efface les caractères à partir de la gauche du string}}

Revision as of 07:20, 2 December 2007

Un string (chaine) est une donnée de texte. La longueur du string est limitée uniquement par la mémoire du script disponible. Au sein du code LSL, les données string sont comprises entre des guillemets (exemple : "chaine"). N'importe quel caractère peut être utilisé dans un string, toutefois il faudra utiliser un code pour certains.

Les strings peuvent être assemblés en utilisant l'opérateur +

code de remplacement
Code Résultat
\t 4 espaces
\n nouvelle ligne
\" guillemets
\\ barre oblique inverse

Exemples de strings:

"Hello Avatar!"
"Oui"
"Non"
"Il est 10 heures."
"J'ai 21 ans!"
"Au " + "secours"
EOF
//Les deux strings suivants ont la même valeur :
"Je veux,\ntu veux,\nnous voulons tous,\ndu Nutella!"
"Je veux,
tu veux,
nous voulons tous,
du Nutella!"

Note : les codes de remplacement (énumérés ci-dessus) sont traduits quand le script est compilé, et non pendant qu'il est exécuté. En conséquence, seuls les strings qui sont à l'intérieur du script lorsqu'il est compilé seront traduits (par exemple \n deviendra le caractère "à la ligne") Le texte lu à partir d'une notecard, du chat, d'HTTP etc... ne seront pas examinés pour y repérer les codes de remplacement. Le même \n, s'il est écrit dans une notecard, ne donnera pas "à la ligne" de facon automatique. Il faudra le faire vous-même si vous en avez besoin.

Note: Les utilisateurs de LSL qui connaissent le langage C ou le Java risquent d'être déroutés au début par les règles LSL concernant les codes de remplacement. En LSL, "\n" signifie llUnescapeURL("%0A"), comme en C et en Java, mais "\t" signifie llUnescapeURL("%20%20%20%20") et non llUnescapeURL("%09"), tout comme "\r" signifie "r" et non llUnescapeURL("%0D"), etc.


Variable: string nom;

string nom;

Déclare une variable de type string appelée nom, avec la valeur ""

• variable nom nom de variable

Variable: string nom = valeur;

string nom = valeur;

Déclare une variable de type string appelée nom, avec comme valeur valeur.

• variable nom nom de variable
• expression valeur expression string ou constante

Changement de type: (string) valeur

(string) value

Convertit valeur en variable de type string.

• expression valeur expression ou constante

Operateurs

Voir Operators pour en savoir plus.

Combinaison : valeur1 + valeur2

(valeur1 + valeur2)

Combine deux strings en un seul, sans modifier les contenus. Ajoute valeur2 à valeur1 et renvoie le string qui en résulte.

• expression valeur1 expression string ou constante
• expression valeur2 expression string ou constante

Comparaison : valeur1 == valeur2

(valeur1 == valeur2)

Compare deux strings, renvoie un s'ils ont la même longueur et les mêmes caractères, sinon renvoie zéro. Cet opérateur fonctionne exactement comme !strcmp(valeur1, valeur2) en langage C, mais diffère techniquement du comportement peu intuitif de l'opérateur == en C et Java.

• expression valeur1 expression string ou constante
• expression valeur2 expression string ou constante

Comparaison : valeur1 != valeur2

(valeur1 != valeur2)

Compare deux strings, renvoie zéro s'ils ont la même longueur et les mêmes caractères, sinon renvoie une valeur non nulle. Cet opérateur fonctionne exactement comme strcmp(value1, value2) en C, mais diffère techniquement du comportement peu intuitif de l'opérateur != en C et en Java.

• expression valeur1 expression string ou constante
• expression valeur2 expression string ou constante

Exemples

integer int = 48934;
string str = (string)int;
string str_2;
str_2 = str;

Fonctions utiles

Voir les fonctions strings dans CombinedLibrary

•  str_replace Remplace toutes les occurences d'un string par un autre string dans un string cible.
•  TrimRight Efface les caractères à partir de la droite du string
•  TrimLeft Efface les caractères à partir de la gauche du string
•  TrimBoth Efface les caractères en partant des deux côtés du string

Exemples

•  SplitLine Insère le code de remplacement "à la ligne" à certains endroits d'un string