The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Math::Symbolic::Variable - Variable in symbolic calculations

SYNOPSIS

  use Math::Symbolic::Variable;

  my $var1 = Math::Symbolic::Variable->new('name');
  $var1->value(5);
  
  my $var2 = Math::Symbolic::Variable->new('x', 2);

  my $var3 = Math::Symbolic::Variable->new(
     {
       name  => 'variable',
       value => 1,
     }
  );

DESCRIPTION

This class implements variables for Math::Symbolic trees. The objects are overloaded in stringification context to return their names.

EXPORT

None by default.

METHODS

Constructor new

First argument is expected to be a hash reference of key-value pairs which will be used as object attributes.

Special case: First argument is not a hash reference. In this case, first argument is treated as variable name, second as value. This special case disallows cloning of objects (when used as object method).

Returns a Math::Symbolic::Variable.

Method value

value() evaluates the Math::Symbolic tree to its numeric representation.

value() without arguments requires that every variable in the tree contains a defined value attribute. Please note that this refers to every variable object, not just every named variable.

value() with one argument sets the object's value.

value() with named arguments (key/value pairs) associates variables in the tree with the value-arguments if the corresponging key matches the variable name. (Can one say this any more complicated?)

Example: $tree->value(x => 1, y => 2, z => 3, t => 0) assigns the value 1 to any occurrances of variables of the name "x", aso.

Method set_value

set_value() returns nothing.

set_value() requires named arguments (key/value pairs) that associate variable names of variables in the tree with the value-arguments if the corresponging key matches the variable name. (Can one say this any more complicated?)

Example: $tree->set_value(x => 1, y => 2, z => 3, t => 0) assigns the value 1 to any occurrances of variables of the name "x", aso.

As opposed to value(), set_value() assigns to the variables permanently and does not evaluate the tree.

Method name

Optional argument: sets the object's name. Returns the object's name.

Method to_string

Returns a string representation of the variable.

Method term_type

Returns the type of the term. (T_VARIABLE)

AUTHOR

Steffen Mueller, <symbolic-module at steffen-mueller dot net>

New versions of this module can be found on http://steffen-mueller.net or CPAN.

SEE ALSO

Math::Symbolic