58 lines
1.4 KiB
Markdown
58 lines
1.4 KiB
Markdown
|
# Dynamic option description: DynOptionDescription
|
||
|
|
||
|
## Dynamic option description's description
|
||
|
|
||
|
Dynamic option description is an OptionDescription which multiplies according to the return of a function.
|
||
|
|
||
|
First of all, an option description is a name, a description, children and suffixes.
|
||
|
|
||
|
### name
|
||
|
|
||
|
The "name" is important to retrieve this dynamic option description.
|
||
|
|
||
|
### description
|
||
|
|
||
|
The "description" allows the user to understand where this dynamic option description will contains.
|
||
|
|
||
|
### children
|
||
|
|
||
|
List of children option.
|
||
|
|
||
|
> **_NOTE:_** the option has to be multi option or leadership but not option description.
|
||
|
|
||
|
### suffixes
|
||
|
|
||
|
Suffixes is a [calculation](calculation.md) that return the list of suffixes used to create dynamic option description.
|
||
|
|
||
|
Let's try:
|
||
|
|
||
|
```python
|
||
|
from tiramisu import StrOption, DynOptionDescription, Calculation
|
||
|
def return_suffixes():
|
||
|
return ['1', '2']
|
||
|
|
||
|
child1 = StrOption('first', 'First basic option ')
|
||
|
child2 = StrOption('second', 'Second basic option ')
|
||
|
DynOptionDescription('basic ',
|
||
|
'Basic options ',
|
||
|
[child1, child2],
|
||
|
Calculation(return_suffixes))
|
||
|
```
|
||
|
|
||
|
This example will construct:
|
||
|
|
||
|
- Basic options 1:
|
||
|
|
||
|
- First basic option 1
|
||
|
- Second basic option 1
|
||
|
|
||
|
- Basic options 2:
|
||
|
|
||
|
- First basic option 2
|
||
|
- Second basic option 2
|
||
|
|
||
|
## Dynamic option description's properties
|
||
|
|
||
|
See [property](property.md).
|
||
|
|