Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
local:moodlescript:langage:freezecontext [2019/04/09 22:11] admin [Moteur de script MoodleScript] |
local:moodlescript:langage:freezecontext [2024/04/04 15:52] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
===== MoodleScript : FREEZE CONTEXT===== | ===== MoodleScript : FREEZE CONTEXT===== | ||
===== Moteur de script MoodleScript===== | ===== Moteur de script MoodleScript===== | ||
- | |||
- | STATUT : En projet. | ||
===Effet=== | ===Effet=== | ||
- | Gèle le contexte de la pile d'exécution et interdit que l'exécution des instructions ne la modifie. | + | Verrouille le contexte d'exécution de la pile pour les instructions suivantes, jusqu'à la prochaine instruction de déverrouillage. Les variables de contexte des instructions exécutées après un verrouillage ne sont plus inscrites dans le contexte courant d'exécution. Ceci permet par exemple, de verrouiller la valeur implicite d'identifiants pointés par la pseudo variable "current". |
- | + | ||
- | Un certain nombre d'instructions peuvent altérer la valeur de variables de contexte au moment de leur exécution. Par exemple, la création d'une catégorie de cours positionne par défaut la catégorie courante de cours sur la nouvelle catégorie créée. Une succession de création de catégories utilisant le méta 'current' créera une succession de catégories imbriquées. | + | |
- | + | ||
- | ADD CATEGORY My Root TO id:1 | + | |
- | + | ||
- | ADD CATEGORY Cat 1 TO current | + | |
- | + | ||
- | ADD CATEGORY Cat 2 TO current | + | |
- | + | ||
- | ADD CATEGORY Cat 3 TO current | + | |
- | + | ||
- | Donnera l'arbre suivant : | + | |
- | + | ||
- | Miscelaneous > My Root > Cat 1 > Cat 2 > Cat 3 | + | |
- | + | ||
- | Pour créer successivement des "siblings" d'une même catégorie il faut alors geler le contexte pour que current représente toujours la catégorie initiale avant le premier ajout. Ainsi : | + | |
- | + | ||
- | ADD CATEGORY My Root TO id:1 | + | |
- | + | ||
- | FREEZE CONTEXT | + | |
- | + | ||
- | ADD CATEGORY Cat 1 TO current | + | |
- | + | ||
- | ADD CATEGORY Cat 2 TO current | + | |
- | + | ||
- | ADD CATEGORY Cat 3 TO current | + | |
- | + | ||
- | UNFREEZE CONTEXT | + | |
- | + | ||
- | Génèrera un arbre comme ceci : | + | |
- | + | ||
- | * Miscelaneous | + | |
- | * My root | + | |
- | * Cat 1 | + | |
- | * Cat 2 | + | |
- | * Cat 3 | + | |
===Syntaxe=== | ===Syntaxe=== | ||
Ligne 49: | Ligne 11: | ||
===Attributs particuliers=== | ===Attributs particuliers=== | ||
+ | |||
+ | Cette commande n'a aucune attribut. | ||
+ | |||
+ | === Autres défauts === | ||
Aucun | Aucun | ||
- | + | <html><!-- nomoodle --></html> | |
- | [[:local:moodlescript:languagespecification|Revenir à l'index du langage]] - [[:local:moodlescript|Revenir à l'index du composant]] | + | [[:local:moodlescript:languagespecification|Revenir à l'index du langage]] - [[:local:moodlescript|Revenir à l'index du composant]] |
+ | <html><!-- /nomoodle --></html> |