home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _91ef8f0755f6da90634efc842e322a45 < prev    next >
Text File  |  2000-03-23  |  5KB  |  166 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>Set::Scalar::Base - base class for Set::Scalar</TITLE>
  5. <LINK REL="stylesheet" HREF="../../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> Set::Scalar::Base - base class for Set::Scalar</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <UL>
  26.  
  27.         <LI><A HREF="#creating">Creating</A></LI>
  28.         <LI><A HREF="#modifying">Modifying</A></LI>
  29.         <LI><A HREF="#displaying">Displaying</A></LI>
  30.         <LI><A HREF="#querying">Querying</A></LI>
  31.         <LI><A HREF="#deriving">Deriving</A></LI>
  32.         <LI><A HREF="#comparing">Comparing</A></LI>
  33.     </UL>
  34.  
  35.     <LI><A HREF="#author">AUTHOR</A></LI>
  36. </UL>
  37. <!-- INDEX END -->
  38.  
  39. <HR>
  40. <P>
  41. <HR>
  42. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  43. <UL>
  44. <LI>Linux</LI>
  45. <LI>Solaris</LI>
  46. <LI>Windows</LI>
  47. </UL>
  48. <HR>
  49. <H1><A NAME="name">NAME</A></H1>
  50. <P>Set::Scalar::Base - base class for Set::Scalar</P>
  51. <P>
  52. <HR>
  53. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  54. <PRE>
  55.     use Set::Scalar;
  56.     $s = Set::Scalar->new;
  57.     $s->insert('a', 'b');
  58.     $s->delete('b');
  59.     $t = Set::Scalar->new('x', 'y', $z);</PRE>
  60. <P>
  61. <HR>
  62. <H1><A NAME="description">DESCRIPTION</A></H1>
  63. <P>
  64. <H2><A NAME="creating">Creating</A></H2>
  65. <PRE>
  66.     $s = Set::Scalar->new;
  67.     $s = Set::Scalar->new(@members);</PRE>
  68. <PRE>
  69.     $t = $s->clone;</PRE>
  70. <P>
  71. <H2><A NAME="modifying">Modifying</A></H2>
  72. <PRE>
  73.     $s->insert(@members);
  74.     $s->delete(@members);
  75.     $s->invert(@members); # insert if hasn't, delete if has</PRE>
  76. <P>
  77. <H2><A NAME="displaying">Displaying</A></H2>
  78. <PRE>
  79.     print $s, "\n";</PRE>
  80. <P>The display format of a set is the members of the set separated by
  81. spaces and enclosed in parentheses ().</P>
  82. <P>You can even display recursive sets.</P>
  83. <P>
  84. <H2><A NAME="querying">Querying</A></H2>
  85. <PRE>
  86.     @members  = $s->members;
  87.     @elements = $s->elements; # alias for members</PRE>
  88. <PRE>
  89.     $size = $s->size;</PRE>
  90. <PRE>
  91.     if ($s->member($member)) { ...</PRE>
  92. <PRE>
  93.     $s->element  # alias for member
  94.     $s->has      # alias for member
  95.     $s->contains # alias for member</PRE>
  96. <PRE>
  97.     $s->is_null
  98.     $s->is_universal</PRE>
  99. <PRE>
  100.     $s->null     # the null set
  101.     $s->universe # the universe of the set</PRE>
  102. <P>
  103. <H2><A NAME="deriving">Deriving</A></H2>
  104. <PRE>
  105.     $u = $s->union($t);
  106.     $i = $s->intersection($t);
  107.     $d = $s->difference($t);
  108.     $e = $s->symmetric_difference($t);
  109.     $v = $s->unique($t);
  110.     $c = $s->complement;</PRE>
  111. <P>These methods have operator overloads:</P>
  112. <PRE>
  113.     $u = $s + $t; # union
  114.     $i = $s * $t; # intersection
  115.     $d = $s - $t; # difference
  116.     $e = $s % $t; # symmetric_difference
  117.     $v = $s / $t; # unique
  118.     $c = -$s;     # complement</PRE>
  119. <P>
  120. <H2><A NAME="comparing">Comparing</A></H2>
  121. <PRE>
  122.     $eq = $s->is_equal($t);
  123.     $dj = $s->is_disjoint($t);
  124.     $pi = $s->is_properly_intersecting($t);
  125.     $ps = $s->is_proper_subset($t);
  126.     $pS = $s->is_proper_superset($t);
  127.     $is = $s->is_subset($t);
  128.     $iS = $s->is_superset($t);</PRE>
  129. <PRE>
  130.     $cmp = $s->compare($t);</PRE>
  131. <P>The <CODE>compare</CODE> method returns a string from the following list:
  132. ``equal'', ``disjoint'', ``proper subset'', ``proper superset'', ``proper
  133. intersect'', and ``disjoint universes'', if you try to compare sets of
  134. different universes, and ``different'', if you try to compare sets and
  135. non-sets (that are not equal in their string form).</P>
  136. <PRE>
  137.     $ueq = $s->have_same_universe($t);</PRE>
  138. <P>Note: currently it is <EM>possible</EM> but <STRONG>unsupported</STRONG> to have several
  139. simultaneous universes for the sets.  Do not go there, even if you
  140. read the universe.t and <STRONG>think</STRONG> you understand.  The interface
  141. is not public and going to change.</P>
  142. <P>These methods have operator overloads:</P>
  143. <PRE>
  144.     $eq = $s == $t; # is_equal
  145.     $dj = $s != $t; # is_disjoint
  146.     # No operator overload for is_properly_intersecting.
  147.     $ps = $s < $t;  # is_proper_subset
  148.     $pS = $s > $t;  # is_proper_superset
  149.     $is = $s <= $t; # is_subset
  150.     $iS = $s >= $t; # is_superset</PRE>
  151. <PRE>
  152.     $cmp = $s <=> $t;</PRE>
  153. <P>
  154. <HR>
  155. <H1><A NAME="author">AUTHOR</A></H1>
  156. <P>Jarkko Hietaniemi <<A HREF="mailto:jhi@iki.fi">jhi@iki.fi</A>></P>
  157. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  158. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  159. <STRONG><P CLASS=block> Set::Scalar::Base - base class for Set::Scalar</P></STRONG>
  160. </TD></TR>
  161. </TABLE>
  162.  
  163. </BODY>
  164.  
  165. </HTML>
  166.