This class holds the current values of all the variables used by a calculated question.
More...
|
| __construct (array $values, $decimalpoint) |
| Constructor. More...
|
|
| calculate ($expression) |
| Evaluate an expression using the variable values. More...
|
|
| format_float ($x, $length=null, $format=null) |
| Display a float properly formatted with a certain number of decimal places. More...
|
|
| get_values () |
| Return an array of the variables and their values. More...
|
|
| replace_expressions_in_text ($text, $length=null, $format=null) |
| Replace any embedded variables (like {a}) or formulae (like {={a} + {b}}) in some text with the corresponding values. More...
|
|
This class holds the current values of all the variables used by a calculated question.
It can compute formulae using those values, and can substitute equations embedded in text.
- Copyright
- 2011 The Open University
- License
- http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
◆ __construct()
qtype_calculated_variable_substituter::__construct |
( |
array |
$values, |
|
|
|
$decimalpoint |
|
) |
| |
Constructor.
- Parameters
-
array | $values | variable name => value. |
◆ calculate()
qtype_calculated_variable_substituter::calculate |
( |
|
$expression | ) |
|
Evaluate an expression using the variable values.
- Parameters
-
string | $expression | the expression. A PHP expression with placeholders like {a} for where the variables need to go. |
- Return values
-
float | the computed result. |
◆ calculate_raw()
qtype_calculated_variable_substituter::calculate_raw |
( |
|
$expression | ) |
|
|
protected |
Evaluate an expression after the variable values have been substituted.
- Parameters
-
string | $expression | the expression. A PHP expression with placeholders like {a} for where the variables need to go. |
- Return values
-
float | the computed result. |
◆ format_float()
qtype_calculated_variable_substituter::format_float |
( |
|
$x, |
|
|
|
$length = null , |
|
|
|
$format = null |
|
) |
| |
Display a float properly formatted with a certain number of decimal places.
- Parameters
-
number | $x | the number to format |
int | $length | restrict to this many decimal places or significant figures. If null, the number is not rounded. |
| int | format 1 => decimalformat, 2 => significantfigures. |
- Return values
-
◆ get_values()
qtype_calculated_variable_substituter::get_values |
( |
| ) |
|
Return an array of the variables and their values.
- Return values
-
◆ replace_expressions_in_text()
qtype_calculated_variable_substituter::replace_expressions_in_text |
( |
|
$text, |
|
|
|
$length = null , |
|
|
|
$format = null |
|
) |
| |
Replace any embedded variables (like {a}) or formulae (like {={a} + {b}}) in some text with the corresponding values.
- Parameters
-
string | $text | the text to process. |
- Return values
-
string | the text with values substituted. |
◆ substitute_values_for_eval()
qtype_calculated_variable_substituter::substitute_values_for_eval |
( |
|
$expression | ) |
|
|
protected |
Substitute variable placehodlers like {a} with their value wrapped in ().
- Parameters
-
string | $expression | the expression. A PHP expression with placeholders like {a} for where the variables need to go. |
- Return values
-
string | the expression with each placeholder replaced by the corresponding value. |
◆ substitute_values_pretty()
qtype_calculated_variable_substituter::substitute_values_pretty |
( |
|
$text | ) |
|
|
protected |
Substitute variable placehodlers like {a} with their value without wrapping the value in anything.
- Parameters
-
string | $text | some content with placeholders like {a} for where the variables need to go. |
- Return values
-
string | the expression with each placeholder replaced by the corresponding value. |
◆ $prettyvalue
array qtype_calculated_variable_substituter::$prettyvalue |
|
protected |
◆ $safevalue
array qtype_calculated_variable_substituter::$safevalue |
|
protected |
◆ $search
array qtype_calculated_variable_substituter::$search |
|
protected |
The documentation for this class was generated from the following file: