Commande SoitValeur
- SoitValeur( <Booléen b>, <0|1> )
-
Affecte au booléen b la valeur 0 ou 1. Vous pouvez aussi utiliser SoitValeur( <Booléen b>, <false|true> )
- SoitValeur( <Objet A>, <Objet B> )
-
Si A est un objet libre ou un point appartenant à un chemin ou une région, sa valeur prend la valeur actuelle de B (i.e. A ne changera pas de valeur si B est ensuite modifié).
- SoitValeur( <Liste L>, <Nombre n >, <Objet O> )
-
Affecte au n ème élément de la liste L la valeur actuelle de l’objet O . Le nombre n est au plus égal à Longueur(L)+1.
- SoitValeur( <Liste déroulante>, <Nombre n > )
-
Définit n comme position sélectionnée dans la liste déroulante.
Commandes Si et SoitValeur dans les Scripts
Dans de nombreux langages de programmation, Si signifie si la condition est vraie fait ceci ; sinon fait cela.
Dans GeoGebra les arguments de Si ne sont pas des commandes, mais des valeurs, dont une devient la valeur du résultat.
Par conséquent, si vous désirez par exemple que b prenne la valeur 2 si la condition a > 2 est réalisée, la méthode
correcte pour ce faire est SoitValeur(b,Si(a>2,2,b))
. Toute autre manière d’imbriquer SoitValeur et Si est
incorrecte.
SoitValeur et objets libres
Idée : Vous avez une liste de points, liste1=\{A,B,C}, donc un objet dépendant, vous voulez, par script, lui ajouter un point D. La commande SoitValeur sera sans effet sur liste1, il vous faut copier cette dernière en objet libre par la Commande CopierObjetLibre Ainsi, exemple de script :
|
Idée : Dans un script, privilégiez toujours la commande SoitValeur à l’affectation par le signe pour i libre, j libre ou non, les commandes sont équivalentes à (i reste libre, seule sa valeur est modifiée), Mais Une redéfinition est lente, surtout si il y a beaucoup d’objets qui dépendent de i. Cela entraînera de graves problèmes dans les scripts d’actualisation. |