Variables are always passed "by reference" and not "by value"
if a variable is changed on a sub page and then referenced again on the parent page the variable has the value assigned on the sub page and not the value from the parent page.This behaviour is shown in the below examples:
Define initial values for numerator, denominator and quotient
Included page: >VariablesRedefinedMultipleTimesOnSamePageAndUsedInSubpage (edit)
Redefine denominator
Included page: TestWithVariable (edit)
To test This page three variables must be defined on the parent page: "numerator", "denominator" and "quotient"
Define variables on this sub page. They can be used on the main page
print quotient = 5.0
print quotient2 = 5.0
print quotient4 = 5.0
eg.Division | |||
# Test Description | numerator | denominator | quotient? |
Expected result is calculated with expression | 10 | 2 | 5.0 |
Expected result is in variable | 10 | 2 | 5.0 |
Store result in a symbol | 10 | 2 | $result= |
Use symbol | $result | 1 | 5.0 |
printing a variable is possible: result = 77.0
printing a symbol is not possible: result = $result
Redefine denominator
Included page: TestWithVariable (edit)
To test This page three variables must be defined on the parent page: "numerator", "denominator" and "quotient"
Define variables on this sub page. They can be used on the main page
print quotient = 4.0
print quotient2 = 4.0
print quotient4 = 4.0
eg.Division | |||
# Test Description | numerator | denominator | quotient? |
Expected result is calculated with expression | 10 | 2.5 | 4.0 |
Expected result is in variable | 10 | 2.5 | 4.0 |
Store result in a symbol | 10 | 2.5 | $result= |
Use symbol | $result | 1 | 4.0 |
printing a variable is possible: result = 77.0
printing a symbol is not possible: result = $result
Check values from variables and symbols
script | |||
# | $ {numerator} has the value as defined on this page | ||
check | echo | 10 | 10 |
# | $ {denominator} has the value as defined on the sub page | ||
check | echo | 2.5 | 2.5 |
# | $ {quotient4} has the value from expression on the sub sub page | ||
check | echo | 4.0 | 4.0 |
# | $ {result} has the value as defined on the sub sub page | ||
check | echo | 77.0 | 77.0 |
# | $ result Symbol from sub sub page can be accessed | ||
check | echo | $result | 4.0 |
Redefine numerator
Included page: >VariablesRedefinedMultipleTimesOnSamePageAndUsedInSubpage (edit)
Redefine denominator
Included page: TestWithVariable (edit)
To test This page three variables must be defined on the parent page: "numerator", "denominator" and "quotient"
Define variables on this sub page. They can be used on the main page
print quotient = 10.0
print quotient2 = 10.0
print quotient4 = 10.0
eg.Division | |||
# Test Description | numerator | denominator | quotient? |
Expected result is calculated with expression | 20 | 2 | 10.0 |
Expected result is in variable | 20 | 2 | 10.0 |
Store result in a symbol | 20 | 2 | $result= |
Use symbol | $result | 1 | 10.0 |
printing a variable is possible: result = 77.0
printing a symbol is not possible: result = $result
Redefine denominator
Included page: TestWithVariable (edit)
To test This page three variables must be defined on the parent page: "numerator", "denominator" and "quotient"
Define variables on this sub page. They can be used on the main page
print quotient = 8.0
print quotient2 = 8.0
print quotient4 = 8.0
eg.Division | |||
# Test Description | numerator | denominator | quotient? |
Expected result is calculated with expression | 20 | 2.5 | 8.0 |
Expected result is in variable | 20 | 2.5 | 8.0 |
Store result in a symbol | 20 | 2.5 | $result= |
Use symbol | $result | 1 | 8.0 |
printing a variable is possible: result = 77.0
printing a symbol is not possible: result = $result
Check values from variables and symbols again
script | |||
# | $ {numerator} has the value as defined on this page | ||
check | echo | 20 | 20 |
# | $ {denominator} has the value as defined on the sub page | ||
check | echo | 2.5 | 2.5 |
# | $ {quotient4} has the value from expression on the sub sub page | ||
check | echo | 8.0 | 8.0 |
# | $ {result} has the value as defined on the sub sub page | ||
check | echo | 77.0 | 77.0 |
# | $ result Symbol from sub sub page can be accessed | ||
check | echo | $result | 8.0 |