rougail/doc/fill/redefine.md

108 lines
2 KiB
Markdown

# Rédéfinition
## Redéfinition des calcules
Dans un premier dictionnaire déclarons notre variable et notre calcule :
```xml
<variables>
<variable name="my_calculated_variable"/>
</variables>
<constraints>
<fill name="return_no">
<target>my_calculated_variable</target>
</fill>
</constraints>
```
En YAML :
```yml
variables:
- variable:
name: my_calculated_variable
constraints:
- fill:
- name: return_no
target:
- text: my_calculated_variable
```
Dans un second dictionnaire il est possible de redéfinir le calcul :
```xml
<variables>
<variable name="my_calculated_variable" redefine="True"/>
</variables>
<constraints>
<fill name="return_yes">
<target>my_calculated_variable</target>
</fill>
</constraints>
```
En YAML :
```yml
variables:
- variable:
name: my_calculated_variable
redefine: true
constraints:
- fill:
- name: return_yes
target:
- text: my_calculated_variable
```
Dans ce cas, à aucun moment la fonction "return_no" ne sera exécuté. Seul la fonction "return_yes" le sera.
## Redéfinition avec suppression d'un calcul
Il se peut que dans un dictionnaire on décide de définir une valeur par défaut à une variable via un calcul.
Dans un second dictionnaire il est possible de supprimer ce calcul.
Dans un premier dictionnaire déclarons notre variable et notre calcule :
```xml
<variables>
<variable name="my_calculated_variable"/>
</variables>
<constraints>
<fill name="return_no">
<target>my_calculated_variable"</target>
</fill>
</constraints>
```
En YAML :
```yml
variables:
- variable:
name: my_calculated_variable
constraints:
- fill:
- name: return_no
target:
- text: my_calculated_variable
```
Dans un second dictionnaire supprimer ce calcul :
```xml
<variables>
<variable name="my_calculated_variable" redefine="True" remove_fill="True"/>
</variables>
```
En YAML :
```yml
variables:
- variable:
name: my_calculated_variable
redefine: true
remove_fill: true
```