calculated ok
This commit is contained in:
parent
3823642352
commit
ff9c0650fc
2 changed files with 25 additions and 17 deletions
|
|
@ -1,6 +1,8 @@
|
||||||
Calculated default values
|
Calculated default values
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
|
.. _calculated_variable:
|
||||||
|
|
||||||
Synopsis
|
Synopsis
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
|
@ -199,9 +201,9 @@ Inside a variable's `calculation` we can use relative path. "_" means that other
|
||||||
|
|
||||||
For example, in variable2's `calculation`, we can use relative path:
|
For example, in variable2's `calculation`, we can use relative path:
|
||||||
|
|
||||||
- __.variable1
|
- `__.variable1`
|
||||||
- _.variable3
|
- `_.variable3`
|
||||||
- __.family2.subfamily1.variable4
|
- `__.family2.subfamily1.variable4`
|
||||||
|
|
||||||
But we cannot access to extra1 variables with relative path.
|
But we cannot access to extra1 variables with relative path.
|
||||||
|
|
||||||
|
|
@ -222,8 +224,8 @@ Hire is a dynamic family "{{ suffix }}":
|
||||||
|
|
||||||
For variable2's calculation, we can use:
|
For variable2's calculation, we can use:
|
||||||
|
|
||||||
- rougail.{{ suffix }}.variable3
|
- `rougail.{{ suffix }}.variable3`
|
||||||
- _.variable3
|
- `_.variable3`
|
||||||
|
|
||||||
In this case, we get value for "variable3" with the same suffix as "variable2".
|
In this case, we get value for "variable3" with the same suffix as "variable2".
|
||||||
|
|
||||||
|
|
@ -231,13 +233,13 @@ For variable4's calculation, we have two possibility:
|
||||||
|
|
||||||
- retrieves all values with all suffixes:
|
- retrieves all values with all suffixes:
|
||||||
|
|
||||||
- rougail.{{ suffix }}.variable3
|
- `rougail.{{ suffix }}.variable3`
|
||||||
- __.{{ suffix }}.variable3
|
- `__.{{ suffix }}.variable3`
|
||||||
|
|
||||||
- retrieves a value for a specified suffix:
|
- retrieves a value for a specified suffix:
|
||||||
|
|
||||||
- rougail.val1.variable3
|
- `rougail.val1.variable3`
|
||||||
- __.val1.variable3
|
- `__.val1.variable3`
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
-----------
|
-----------
|
||||||
|
|
|
||||||
|
|
@ -68,8 +68,8 @@ except that it is dedicated to the HTTPS protocol :ref:`and a boolean variable t
|
||||||
|
|
||||||
This `https_proxy` family is identical to the `http_proxy` family except that it defines variables intended for the HTTPS protocol.
|
This `https_proxy` family is identical to the `http_proxy` family except that it defines variables intended for the HTTPS protocol.
|
||||||
|
|
||||||
Calculated default values
|
A default value calculated from another variable
|
||||||
------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
.. type-along:: For those who follow the tutorial with the help of the git repository
|
.. type-along:: For those who follow the tutorial with the help of the git repository
|
||||||
|
|
||||||
|
|
@ -151,15 +151,19 @@ The target variable is `http_proxy.address`.
|
||||||
|
|
||||||
.. note:: The `__.` notation means the parent path of the current subfamily path.
|
.. note:: The `__.` notation means the parent path of the current subfamily path.
|
||||||
|
|
||||||
We then say that the `manual.https_proxy.address` and the the `manual.https_proxy.port` default values are *calculated*.
|
We then say that the `manual.https_proxy.address` and the `manual.https_proxy.port` default values are *calculated*.
|
||||||
|
|
||||||
.. glossary::
|
.. glossary::
|
||||||
|
|
||||||
calculated
|
calculated
|
||||||
|
|
||||||
We say that a variable's value or a default variable's value is calculated
|
We say that a variable's value or a default variable's value is calculated
|
||||||
when there is a pointer which refers to another variable's value
|
when there is a pointer which refers to another variable's value.
|
||||||
or if there is some :term:`jinja` code or a python function that calculates it.
|
|
||||||
|
:ref:`Other types of calculations exists <calculated_variable>`, in which this type of behavior does not occur
|
||||||
|
(the "pointer" behavior, notably type copying).
|
||||||
|
|
||||||
|
The other types of calculation we will be explained later in this tutorial.
|
||||||
|
|
||||||
Notice that the default value is not changed when :term:`user data <user data>` are settled.
|
Notice that the default value is not changed when :term:`user data <user data>` are settled.
|
||||||
|
|
||||||
|
|
@ -220,14 +224,16 @@ We have this result:
|
||||||
<span style="color: #5c5cff"> </span><span style="color: #5c5cff"> </span><span style="color: #5c5cff">┗━━ </span>📓 port (HTTPS Port): <span style="color: #ffd700">3128</span>
|
<span style="color: #5c5cff"> </span><span style="color: #5c5cff"> </span><span style="color: #5c5cff">┗━━ </span>📓 port (HTTPS Port): <span style="color: #ffd700">3128</span>
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
We see that the default value is not changed.
|
The `https_proxy` variable's value is indeed modified, but the default value is still a calculated value (so the default value is indeed the value of the variable `http_proxy.address`, i.e., `"http.proxy.net"`), while the value defined by the user is `https.proxy.net`.
|
||||||
|
|
||||||
|
Here we see that the variable's default value is not changed, but rather its actual value.
|
||||||
|
|
||||||
.. keypoints:: Key points progress
|
.. keypoints:: Key points progress
|
||||||
|
|
||||||
**summary**
|
**summary**
|
||||||
|
|
||||||
We have learned how to set the default value of the `https_proxy.address` variable
|
We have learned how to set the default value of the `https_proxy.address` variable
|
||||||
with the default value of the `http_proxy.address` variable. We did the same
|
with the value of the `http_proxy.address` variable. We did the same
|
||||||
`https_proxy.port` and the `https_proxy.port` variables.
|
`https_proxy.port` and the `https_proxy.port` variables.
|
||||||
|
|
||||||
**notation**
|
**notation**
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue