|
Set::Scalar::Base - base class for Set::Scalar
|
This module is not included with the standard ActivePerl distribution. It is available as a separate download using PPM.
Set::Scalar::Base - base class for Set::Scalar
use Set::Scalar;
$s = Set::Scalar->new;
$s->insert('a', 'b');
$s->delete('b');
$t = Set::Scalar->new('x', 'y', $z);
$s = Set::Scalar->new;
$s = Set::Scalar->new(@members);
$t = $s->clone;
$s->insert(@members);
$s->delete(@members);
$s->invert(@members); # insert if hasn't, delete if has
print $s, "\n";
The display format of a set is the members of the set separated by
spaces and enclosed in parentheses ().
You can even display recursive sets.
@members = $s->members;
@elements = $s->elements; # alias for members
$size = $s->size;
if ($s->member($member)) { ...
$s->element # alias for member
$s->has # alias for member
$s->contains # alias for member
$s->is_null
$s->is_universal
$s->null # the null set
$s->universe # the universe of the set
$u = $s->union($t);
$i = $s->intersection($t);
$d = $s->difference($t);
$e = $s->symmetric_difference($t);
$v = $s->unique($t);
$c = $s->complement;
These methods have operator overloads:
$u = $s + $t; # union
$i = $s * $t; # intersection
$d = $s - $t; # difference
$e = $s % $t; # symmetric_difference
$v = $s / $t; # unique
$c = -$s; # complement
$eq = $s->is_equal($t);
$dj = $s->is_disjoint($t);
$pi = $s->is_properly_intersecting($t);
$ps = $s->is_proper_subset($t);
$pS = $s->is_proper_superset($t);
$is = $s->is_subset($t);
$iS = $s->is_superset($t);
$cmp = $s->compare($t);
The compare method returns a string from the following list:
``equal'', ``disjoint'', ``proper subset'', ``proper superset'', ``proper
intersect'', and in future, ``disjoint universes''.
These methods have operator overloads:
$eq = $s == $t; # is_equal
$dj = $s != $t; # is_disjoint
# No operator overload for is_properly_intersecting.
$ps = $s < $t; # is_proper_subset
$pS = $s > $t; # is_proper_superset
$is = $s <= $t; # is_subset
$iS = $s >= $t; # is_superset
$cmp = $s <=> $t;
Jarkko Hietaniemi <jhi@iki.fi>
|
Set::Scalar::Base - base class for Set::Scalar
|
|