Warning: Parameter 1 to Language::getMagic() expected to be a reference, value given in /var/www/sda/2/c/digigrids/wiki/includes/StubObject.php on line 58

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 670

Warning: Invalid argument supplied for foreach() in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 671

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 675

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 670

Warning: Invalid argument supplied for foreach() in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 671

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 675

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 670

Warning: Invalid argument supplied for foreach() in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 671

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 675

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 670

Warning: Invalid argument supplied for foreach() in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 671

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 675

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 670

Warning: Invalid argument supplied for foreach() in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 671

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 675

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 670

Warning: Invalid argument supplied for foreach() in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 671

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 675

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 670

Warning: Invalid argument supplied for foreach() in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 671

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 675

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 670

Warning: Invalid argument supplied for foreach() in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 671

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sda/2/c/digigrids/wiki/includes/MagicWord.php on line 675
Scripting/Variables - DigiWiki

Scripting/Variables

De DigiWiki.

(Voir également)
 
Ligne 1 : Ligne 1 :
 +
__NOTOC__
{{Languages}}
{{Languages}}
 +
{{ScriptingNav}}
 +
Une '''variable''' est un élément dans lequel une information (nombre, chaine de caractères...) est stockée.
Une '''variable''' est un élément dans lequel une information (nombre, chaine de caractères...) est stockée.
Ligne 6 : Ligne 9 :
le LSL est un langage fortement typé. Cela veut dire que les types des variables doivent être déclarés et que les variables ne peuvent contenir que des valeurs correspondant à leur type. Cependant, une variable liste peut contenir des valeurs de n'importe quel autre type.  
le LSL est un langage fortement typé. Cela veut dire que les types des variables doivent être déclarés et que les variables ne peuvent contenir que des valeurs correspondant à leur type. Cependant, une variable liste peut contenir des valeurs de n'importe quel autre type.  
-
Quelques exemples :
+
Quelques exemples:
<lsl>
<lsl>
integer  nombre    = 2;    // Un nombre entier
integer  nombre    = 2;    // Un nombre entier
Ligne 16 : Ligne 19 :
rotation tourner    = <1,2,3,4>;
rotation tourner    = <1,2,3,4>;
</lsl>
</lsl>
-
 
== Portée des variables ==
== Portée des variables ==
-
 
Le nom de la variable est reconnu depuis l'endroit ou elle apparaît pour la premiere fois jusqu'à la fin de la partie dans laquelle elle se trouve, ou la fin du script pour les variables globales. Un nom de variable ne peut pas être défini deux fois dans la même partie, mais le nom peut être défini dans une partie externe et redéfini dans une partie interne. Comme dit précédemment, la sémantique est très proche de celle utilisée en C ou en Java. Ainsi, le code qui suit pourra etre compilé et exécuté :
Le nom de la variable est reconnu depuis l'endroit ou elle apparaît pour la premiere fois jusqu'à la fin de la partie dans laquelle elle se trouve, ou la fin du script pour les variables globales. Un nom de variable ne peut pas être défini deux fois dans la même partie, mais le nom peut être défini dans une partie externe et redéfini dans une partie interne. Comme dit précédemment, la sémantique est très proche de celle utilisée en C ou en Java. Ainsi, le code qui suit pourra etre compilé et exécuté :
-
 
<lsl>
<lsl>
integer i = 50;
integer i = 50;
Ligne 31 : Ligne 31 :
}
}
</lsl>
</lsl>
-
 
I found this confusing at first, this may make it a little clearer:
I found this confusing at first, this may make it a little clearer:
The same rules apply to any variable type, a local variable name will overide any global variable previously defined
The same rules apply to any variable type, a local variable name will overide any global variable previously defined
-
<lsl>string  j = "Global Hi";
+
<lsl>
 +
string  j = "Global Hi";
integer i = 50;
integer i = 50;
Ligne 45 : Ligne 45 :
         llOwnerSay(j); //Will say "Global Hi", this is the global variable that can be accessed anywhere in the script
         llOwnerSay(j); //Will say "Global Hi", this is the global variable that can be accessed anywhere in the script
     }
     }
-
}</lsl>
+
}
-
 
+
</lsl>
Converting between variable types is know as casting. for example in the script above, the global variable i has a value of 50. This can be cast to a string to send the value as text to the chat window. This can also be done with local variables.
Converting between variable types is know as casting. for example in the script above, the global variable i has a value of 50. This can be cast to a string to send the value as text to the chat window. This can also be done with local variables.
This is commonly used for debugging a script.
This is commonly used for debugging a script.
-
 
<lsl>
<lsl>
integer i = 50;
integer i = 50;
Ligne 61 : Ligne 60 :
         llOwnerSay((string) j); //Will say "60". the local integer has been changed ( cast ) to a string.
         llOwnerSay((string) j); //Will say "60". the local integer has been changed ( cast ) to a string.
     }
     }
-
}</lsl>
+
}
-
 
+
</lsl>
A global variable can be defined with or without a value and the value can be changed later in the script.
A global variable can be defined with or without a value and the value can be changed later in the script.
Note that in setting the value of j, only the name was used, the type ( integer) is already set globally,
Note that in setting the value of j, only the name was used, the type ( integer) is already set globally,
Ligne 79 : Ligne 78 :
         integer k = 70; //Name, type and value set within a local scope
         integer k = 70; //Name, type and value set within a local scope
     }
     }
-
}</lsl>
+
}
-
 
+
</lsl>
== Voir également ==
== Voir également ==
-
* [[string]]
+
<ul style="{{NewStyle|column-width|20.5em|moz=*|webkit=*}}">
-
* [[key]]
+
*[[Scripting/Types/string|string]]
-
* [[integer]]
+
*[[Scripting/Types/key|key]]
-
* [[float]]
+
*[[Scripting/Types/integer|integer]]
-
* [[list]]
+
*[[Scripting/Types/float|float]]
-
* [[vector]]
+
*[[Scripting/Types/list|list]]
-
* [[rotation]]
+
*[[Scripting/Types/vector|vector]]
 +
*[[Scripting/Types/rotation|rotation]]
 +
</ul>

Version actuelle en date du 2 octobre 2014 à 05:08

Outils personnels
donate
Google Ads