[BACK]Return to string.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-doc / parts / builtin

Diff for /OpenXM/src/asir-doc/parts/builtin/string.texi between version 1.1 and 1.6

version 1.1, 1999/12/08 05:47:44 version 1.6, 2003/04/19 15:44:59
Line 1 
Line 1 
   @comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/string.texi,v 1.5 2000/03/02 07:46:14 noro Exp $
   \BJP
 @node $BJ8;zNs$K4X$9$k1i;;(B,,, $BAH$_9~$_H!?t(B  @node $BJ8;zNs$K4X$9$k1i;;(B,,, $BAH$_9~$_H!?t(B
 @section $BJ8;zNs$K4X$9$k1i;;(B  @section $BJ8;zNs$K4X$9$k1i;;(B
   \E
   \BEG
   @node Strings,,, Built-in Function
   @section Strings
   \E
   
 @menu  @menu
 * rtostr::  * rtostr::
 * strtov::  * strtov::
   * eval_str::
   * strtoascii asciitostr::
   * str_len str_chr sub_str::
 @end menu  @end menu
   
 @node rtostr,,, $BJ8;zNs$K4X$9$k1i;;(B  \JP @node rtostr,,, $BJ8;zNs$K4X$9$k1i;;(B
   \EG @node rtostr,,, Strings
 @subsection @code{rtostr}  @subsection @code{rtostr}
 @findex rtostr  @findex rtostr
   
 @table @t  @table @t
 @item rtostr(@var{obj})  @item rtostr(@var{obj})
 :: @var{obj} $B$rJ8;zNs$KJQ$($k(B.  \JP :: @var{obj} $B$rJ8;zNs$KJQ$($k(B.
   \EG :: Convert @var{obj} into a string.
 @end table  @end table
   
 @table @var  @table @var
 @item return  @item return
 $BJ8;zNs(B  \JP $BJ8;zNs(B
   \EG string
 @item obj  @item obj
 $BG$0U(B  \JP $BG$0U(B
   \EG arbitrary
 @end table  @end table
   
 @itemize @bullet  @itemize @bullet
   \BJP
 @item  @item
 $BG$0U$N%*%V%8%'%/%H(B @var{obj} $B$rJ8;zNs$KJQ$($k(B.  $BG$0U$N%*%V%8%'%/%H(B @var{obj} $B$rJ8;zNs$KJQ$($k(B.
 @item  @item
Line 30 
Line 45 
 $BE:;zIU$-$NITDj85$r@8@.$9$k>l9g$KB?$/MQ$$$i$l$k(B.  $BE:;zIU$-$NITDj85$r@8@.$9$k>l9g$KB?$/MQ$$$i$l$k(B.
 @item  @item
 $B5U$K(B, $BJ8;zNs$rITDj85$KJQ49$9$k;~$K$O(B, @code{strtov} $B$rMQ$$$k(B.  $B5U$K(B, $BJ8;zNs$rITDj85$KJQ49$9$k;~$K$O(B, @code{strtov} $B$rMQ$$$k(B.
   \E
   \BEG
   @item
   Convert an arbitrary object @var{obj} into a string.
   @item
   This function is convenient to create variables with numbered
   (or indexed) names by converting integers into strings and appending them
   to some name strings.
   @item
   Use @code{strtov()} for inverse conversion from string to indeterminate.
   \E
 @end itemize  @end itemize
   
 @example  @example
Line 46  afo1
Line 72  afo1
 @end example  @end example
   
 @table @t  @table @t
 @item $B;2>H(B  \JP @item $B;2>H(B
   \EG @item References
 @fref{strtov}, @fref{type}.  @fref{strtov}, @fref{type}.
 @end table  @end table
   
 @node strtov,,, $BJ8;zNs$K4X$9$k1i;;(B  \JP @node strtov,,, $BJ8;zNs$K4X$9$k1i;;(B
   \EG @node strtov,,, Strings
 @subsection @code{strtov}  @subsection @code{strtov}
 @findex strtov  @findex strtov
   
 @table @t  @table @t
 @item strtov(@var{str})  @item strtov(@var{str})
 :: @var{str} ($BJ8;zNs(B) $B$rITDj85$KJQ$($k(B.  \JP :: @var{str} ($BJ8;zNs(B) $B$rITDj85$KJQ$($k(B.
   \EG :: Convert a string @var{str} into an indeterminate.
 @end table  @end table
   
 @table @var  @table @var
 @item return  @item return
 $BITDj85(B  \JP $BITDj85(B
   \EG intederminate
 @item str  @item str
 $BITDj85$H$7$FJQ492DG=$JJ8;zNs(B  \JP $BITDj85$H$7$FJQ492DG=$JJ8;zNs(B
   \EG string which is valid to constitute an indeterminate.
 @end table  @end table
   
 @itemize @bullet  @itemize @bullet
   \BJP
 @item  @item
 $BITDj85$H$7$FJQ492DG=$JJ8;zNs$rITDj85$KJQ$($k(B.  $BITDj85$H$7$FJQ492DG=$JJ8;zNs$rITDj85$KJQ$($k(B.
 @item  @item
Line 75  afo1
Line 107  afo1
 @item  @item
 @code{rtostr()} $B$HAH9g$;$F(B, $B%W%m%0%i%`Cf$G<+F0E*$KITDj85$r@8@.$7$?$$;~$K(B  @code{rtostr()} $B$HAH9g$;$F(B, $B%W%m%0%i%`Cf$G<+F0E*$KITDj85$r@8@.$7$?$$;~$K(B
 $BMQ$$$i$l$k(B.  $BMQ$$$i$l$k(B.
   \E
   \BEG
   @item
   Convert a string that is valid for an indeterminate into an indeterminate
   which have @var{str} as its print name.
   @item
   The valid string for an indeterminate is such a string that begins
   with a small alphabetical letter possibly followed by any string composed
   of alphabetical letters, digits or a symbol @samp{_}.
   @item
   Use the command to create indeterminates dynamically in programs.
   \E
 @end itemize  @end itemize
   
 @example  @example
Line 87  afo
Line 131  afo
 @end example  @end example
   
 @table @t  @table @t
 @item $B;2>H(B  \JP @item $B;2>H(B
   \EG @item References
 @fref{rtostr}, @fref{type}, @fref{uc}.  @fref{rtostr}, @fref{type}, @fref{uc}.
 @end table  @end table
   
   \JP @node eval_str,,, $BJ8;zNs$K4X$9$k1i;;(B
   \EG @node eval_str,,, Strings
   @subsection @code{eval_str}
   @findex eval_str
   
   @table @t
   @item eval_str(@var{str})
   \JP :: @var{str} ($BJ8;zNs(B) $B$rI>2A$9$k(B.
   \EG :: Evaluates a string @var{str}.
   @end table
   
   @table @var
   @item return
   \JP $B%*%V%8%'%/%H(B
   \EG object
   @item str
   \JP @b{Asir} $B$N(B parser $B$,<uM}2DG=$JJ8;zNs(B
   \EG string which can be accepted by @b{Asir} parser
   @end table
   
   @itemize @bullet
   \BJP
   @item
   @b{Asir} $B$N(B parser $B$,<uM}2DG=$JJ8;zNs$rI>2A$7$F$=$N7k2L$rJV$9(B.
   @item
   $BI>2A2DG=$JJ8;zNs$O(B, $B<0$rI=$9$b$N$K8B$k(B.
   @item
   $BO@M}E*$K$O(B @code{rtostr()} $B$N5U4X?t$H$J$k(B.
   \E
   \BEG
   @item
   This function evaluates a string which can be accepted by @b{Asir} parser
   and returns the result.
   @item
   The input string should represent an expression.
   @item
   This functions is the inversion function of @code{rtostr()}.
   \E
   @end itemize
   
   @example
   [0] eval_str("1+2");
   3
   [1] fctr(eval_str(rtostr((x+y)^10)));
   [[1,1],[x+y,10]]
   @end example
   
   @table @t
   \JP @item $B;2>H(B
   \EG @item References
   @fref{rtostr}
   @end table
   
   \JP @node strtoascii asciitostr,,, $BJ8;zNs$K4X$9$k1i;;(B
   \EG @node strtoascii asciitostr,,, Strings
   @subsection @code{strtoascii}, @code{asciitostr}
   @findex strtoascii
   @findex asciitostr
   
   @table @t
   @item strtoascii(@var{str})
   \JP :: $BJ8;zNs$r%"%9%-!<%3!<%I$GI=$9(B.
   \EG :: Converts a string into a sequence of ASCII codes.
   @item asciitostr(@var{list})
   \JP :: $B%"%9%-!<%3!<%I$NNs$rJ8;zNs$KJQ49$9$k(B.
   \EG :: Converts a sequence of ASCII codes into a string.
   @end table
   
   @table @var
   @item return
   \JP @code{strtoascii()}:$B%j%9%H(B; @code{asciitostr()}:$BJ8;zNs(B
   \EG @code{strtoascii()}:list; @code{asciitostr()}:string
   @item str
   \JP $BJ8;zNs(B
   \EG string
   @item list
   \JP 1 $B0J>e(B 256 $BL$K~$N@0?t$+$i$J$k%j%9%H(B
   \EG list containing positive integers less than 256.
   @end table
   
   @itemize @bullet
   \BJP
   @item
   @code{strtoascii()} $B$OJ8;zNs$r@0?t$N%j%9%H$KJQ49$9$k(B. $B3F(B
   $B@0?t$OJ8;zNs$N%"%9%-!<%3!<%I$rI=$9(B.
   @item
   @code{asciitostr()} $B$O(B @code{asciitostr()} $B$N5U4X?t$G$"$k(B.
   \E
   \BEG
   @item
   @code{strtoascii()} converts a string into a list of integers
   which is a representation of the string by the ASCII code.
   @item
   @code{asciitostr()} is the inverse of @code{asciitostr()}.
   \E
   @end itemize
   
   @example
   [0] strtoascii("abcxyz");
   [97,98,99,120,121,122]
   [1] asciitostr(@@);
   abcxyz
   [2] asciitostr([256]);
   asciitostr : argument out of range
   return to toplevel
   @end example
   
   \JP @node str_len str_chr sub_str,,, $BJ8;zNs$K4X$9$k1i;;(B
   \EG @node str_len str_chr sub_str,,, Strings
   @subsection @code{str_len}, @code{str_chr}, @code{sub_str}
   @findex str_len
   @findex str_chr
   @findex sub_str
   
   @table @t
   @item str_len(@var{str})
   \JP :: $BJ8;zNs$ND9$5$rJV$9(B.
   \EG :: Returns the length of a string.
   @item str_chr(@var{str},@var{start},@var{c})
   \JP :: $BJ8;z$,:G=i$K8=$l$k0LCV$rJV$9(B.
   \EG :: Returns the position of the first occurrence of a character in a string.
   @item sub_str(@var{str},@var{start},@var{end})
   \JP :: $BItJ,J8;zNs$rJV$9(B.
   \EG :: Returns a substring of a string.
   @end table
   
   @table @var
   @item return
   \JP @code{str_len()}, @code{str_chr()}:$B@0?t(B; @code{sub_str()}:$BJ8;zNs(B
   \EG @code{str_len()}, @code{str_chr()}:integer; @code{sub_str()}:string
   @item str c
   \JP $BJ8;zNs(B
   \EG string
   @item start end
   \JP $BHsIi@0?t(B
   \EG non-negative integer
   @end table
   
   @itemize @bullet
   \BJP
   @item @code{str_len()} $B$OJ8;zNs$ND9$5$rJV$9(B.
   @item @code{str_chr()} $B$O(B @var{str} $B$N(B @var{start} $BHVL\$NJ8;z$+$i%9%-%c%s$7$F(B
   $B:G=i$K(B @var{c} $B$N:G=i$NJ8;z$,8=$l$?0LCV$rJV$9(B. $BJ8;zNs$N@hF,$O(B 0 $BHVL\$H$9$k(B.
   $B;XDj$5$l$?J8;z$,8=$l$J$$>l9g$K$O(B -1 $B$rJV$9(B.
   @item @code{sub_str()} $B$O(B, @var{str} $B$N(B @var{start} $BHVL\$+$i(B @var{end} $BHVL\(B
   $B$^$G$NItJ,J8;zNs$r@8@.$7JV$9(B.
   \E
   \BEG
   @item @code{str_len()} returns the length of a string.
   @item @code{str_chr()} scans a string @var{str} from the @var{start}-th
   character and returns the position of the first occurrence
   of the first character of a string @var{c}. Note that the top of a string
   is the 0-th charater. It returns -1 if the character does not appear.
   @item @code{sub_str()} generates a substring of @var{str} containing
   characters from the @var{start}-th one to the @var{end}-th one.
   \E
   @end itemize
   
   @example
   [185] Line="123 456 (x+y)^3";
   123 456 (x+y)^3
   [186] Sp1 = str_chr(Line,0," ");
   3
   [187] D0 = eval_str(sub_str(Line,0,Sp1-1));
   123
   [188] Sp2 = str_chr(Line,Sp1+1," ");
   7
   [189] D1 = eval_str(sub_str(Line,Sp1+1,Sp2-1));
   456
   [190] C = eval_str(sub_str(Line,Sp2+1,str_len(Line)-1));
   x^3+3*y*x^2+3*y^2*x+y^3
   @end example

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>