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

From Second Life Wiki
Jump to navigation Jump to search
(Prepared for translation by Samia Bechir)
 
m (categorized category)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Multi-lang}}
{{LSL Header/fr|ml=*}}{{LSLC/fr|}}{{LSLC/fr|Types}}
{{LSL Header}}
{{RightToc}}
<div style="float:right">__TOC__</div>
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.
A string is text data. The length of a string is only limited by available [[script memory]]. String values are enclosed in double quotes when defined in LSL text. Any character may be used in a string though some will need to be escaped.
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.


Strings can be concatenated using the '''+''' operator.
Les strings peuvent être assemblés en utilisant l'opérateur '''+'''


<div style="float:left">
<div style="float:left">
{|{{Prettytable}}
{|{{Prettytable}}
|+'''Escape codes'''
|+'''code de remplacement'''
|-{{Hl2}}
|-{{Hl2}}
!Substring
!Code
!Replaced with
!Résultat
|-
|-
|| \t || four spaces
|| \t || 4 espaces
|-
|-
|| \n || new line
|| \n || nouvelle ligne
|-
|-
|| \" || double quote
|| \" || guillemets
|-
|-
|| \\ || backslash
|| \\ || barre oblique inverse
|}
|}
</div>
</div>
{|
{|
|
|
String examples:
Exemples de strings:
<pre>"Hello Avatar!"
<pre>"Hello Avatar!"
"Yes"
"Oui"
"No"
"Non"
"It's 10 o'clock."
"Il est 10 heures."
"I am 21 years old!"
"J'ai 21 ans!"
"Help " + "me"
"Au " + "secours"
EOF
EOF
//The following two strings have the same value.
//Les deux strings suivants ont la même valeur :
"I scream,\nyou scream,\nwe all scream,\nfor ice-cream!"
"Je veux,\ntu veux,\nnous voulons tous,\ndu Nutella!"
"I scream,
"Je veux,
you scream,
tu veux,
we all scream,
nous voulons tous,
for ice-cream!"
du Nutella!"
</pre>
</pre>
|}
|}


Note: Escape codes (listed above) are translated when the script is compiled, and not while it's running.
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é.
The result: only strings that are inside your script when it is compiled will get, say, \n turned into a "new line" character.  Text you read in from a notecard, chat, http, etc, will not be checked for escape codes -- that same \n typed in a notecard doesn't automatically turn into a "new line" character in any case. You'll have to do that yourself, if you really really need it for some reason.
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: People who come to LSL from C and Java and such languages may find these LSL string escape rules confusing while new. LSL "\n" means llUnescapeURL("%0A"), same as C and Java, but "\t" means llUnescapeURL("%20%20%20%20") rather than llUnescapeURL("%09"), and "\r" means "r" rather than 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.


{{#vardefine:p_name_desc|variable name
{{#vardefine:p_name_desc|nom de variable
}}{{#vardefine:p_value_desc|string expression or constant
}}{{#vardefine:p_value_desc|expression string ou constante
}}{{#vardefine:p_value_t_desc|expression or constant
}}{{#vardefine:p_value_t_desc|expression ou constante
}}
}}
<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>
Declares a variable of type string named '''name''', with the value {{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>
Declares a variable of type string named '''name''', with the value '''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>
Converts '''value''' to a value of 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 83: Line 85:
<div id="box">
<div id="box">


== [[LSL Operators|Operators]] ==  
== [[LSL Operators|Operateurs]] ==  
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
See [[LSL Operators|Operators]] for more information.
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;">
=== Combine: {{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>
Combines two strings into a single string without modifying the inputs. Appends '''value2''' to '''value1''' and returns the resulting string.
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;">


=== Comparison: {{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>
Compares two strings, returns {{HoverText|one|1}} if same length and same characters, else returns zero.
Compare deux strings, renvoie {{HoverText|un|1}} s'ils ont la même longueur et les mêmes caractères, sinon renvoie zéro.
This operator works exactly like <code>!strcmp('''value1''', '''value2''')</code> in C, thus technically differs from the counterintuitive behavior of the == operator in C and in 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;">
=== Comparison: {{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>
Compares two strings, returns {{HoverText|zero|0}} if same length and same characters, otherwise 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.
This operator works exactly like <code>strcmp('''value1''', '''value2''')</code> in C, thus technically differs from the counterintuitive behavior of the != operator in C and in 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 120: Line 122:
<div id="box">
<div id="box">


== Examples ==
== Exemples ==
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
<pre>
<pre>
Line 130: Line 132:
</div></div>
</div></div>
<div id="box">
<div id="box">
== Useful Functions ==
== Fonctions utiles ==
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
=== String functions in the [[Library_Combined_Library|CombinedLibrary]] ===
=== Voir les fonctions relatives aux strings dans la [[Library_Combined_Library|bibliothèque combinée]] ===
{|
{|
{{LSL DefineRow||[[Library_Combined_Library#str_replace|str_replace]]|replace all instances of a string with another string in a target string.}}
{{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]]|Trim characters from the right end of a string}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimRight]]|Efface des caractères du string à partir de la droite}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimLeft]]|Trim characters from the left end of a string}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimLeft]]|Efface des caractères du string à partir de la gauche}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimBoth]]|Trim characters from the both ends of a string}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimBoth]]|Efface des caractères du string en partant des deux côtés}}
|}
|}
=== Examples ===
 
=== Exemples ===
{|
{|
{{LSL DefineRow||[[Examples|SplitLine]]|Insert 'new line' escape codes at certain positions of a string}}
{{LSL DefineRow||[[Examples|SplitLine]]|Insère le code de remplacement "à la ligne" à certains endroits d'un string}}
|}
|}
</div></div>
</div></div>

Latest revision as of 06:48, 19 April 2009

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 relatives aux strings dans la bibliothèque combinée

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

Exemples

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