version 1.1.1.1, 1999/12/08 05:47:44 |
version 1.4, 2003/04/20 08:01:28 |
|
|
|
@comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/function.texi,v 1.3 2002/09/03 01:50:59 noro Exp $ |
|
\BJP |
@node $BH!?t$KBP$9$kA`:n(B,,, $BAH$_9~$_H!?t(B |
@node $BH!?t$KBP$9$kA`:n(B,,, $BAH$_9~$_H!?t(B |
@section $BH!?t$KBP$9$kA`:n(B |
@section $BH!?t$KBP$9$kA`:n(B |
|
\E |
|
\BEG |
|
@node Operations on functions,,, Built-in Function |
|
@section Operations on functions |
|
\E |
|
|
@menu |
@menu |
* functor args funargs:: |
* functor args funargs:: |
@end menu |
@end menu |
|
|
@node functor args funargs,,, $BH!?t$KBP$9$kA`:n(B |
\JP @node functor args funargs,,, $BH!?t$KBP$9$kA`:n(B |
|
\EG @node functor args funargs,,, Operations on functions |
@subsection @code{functor}, @code{args}, @code{funargs} |
@subsection @code{functor}, @code{args}, @code{funargs} |
@findex functor |
@findex functor |
@findex args |
@findex args |
|
|
|
|
@table @t |
@table @t |
@item functor(@var{func}) |
@item functor(@var{func}) |
:: @var{func} $B$NH!?t;R$r<h$j=P$9(B. |
\JP :: @var{func} $B$NH!?t;R$r<h$j=P$9(B. |
|
\EG :: Functor of function form @var{func}. |
@item args(@var{func}) |
@item args(@var{func}) |
:: @var{func} $B$N0z?t%j%9%H$r<h$j=P$9(B. |
\JP :: @var{func} $B$N0z?t%j%9%H$r<h$j=P$9(B. |
|
\EG :: List of arguments of function form @var{func}. |
@item funargs(@var{func}) |
@item funargs(@var{func}) |
:: @code{cons(functor(@var{func}),args(@var{func}))} $B$rJV$9(B. |
\JP :: @code{cons(functor(@var{func}),args(@var{func}))} $B$rJV$9(B. |
|
\EG :: @code{cons(functor(@var{func}),args(@var{func}))}. |
@end table |
@end table |
|
|
@table @var |
@table @var |
@item return |
@item return |
@code{functor()} : $BITDj85(B, @code{args()}, @code{funargs()} : $B%j%9%H(B |
\JP @code{functor()} : $BITDj85(B, @code{args()}, @code{funargs()} : $B%j%9%H(B |
|
\EG @code{functor()} : indeterminate, @code{args()}, @code{funargs()} : list |
@item func |
@item func |
$BH!?t7A<0$rI=$9ITDj85(B |
\JP $BH!?t7A<0$rI=$9ITDj85(B |
|
\EG function form |
@end table |
@end table |
|
|
@itemize @bullet |
@itemize @bullet |
|
\BJP |
@item |
@item |
$BH!?t7A<0$K4X$7$F$O(B, @code{vtype()} $B$r;2>H(B. |
$BH!?t7A<0$K4X$7$F$O(B, @code{vtype()} $B$r;2>H(B. |
@item |
@item |
|
|
@item |
@item |
$B5U$K(B, $B<h$j=P$7$?H!?t;R$rCM$K;}$D%W%m%0%i%`JQ?t$r(B @code{F} $B$H$9$l$P(B (@code{*F})(x) $B$G(B |
$B5U$K(B, $B<h$j=P$7$?H!?t;R$rCM$K;}$D%W%m%0%i%`JQ?t$r(B @code{F} $B$H$9$l$P(B (@code{*F})(x) $B$G(B |
x $B$r0z?t$H$9$kH!?t8F$S=P$7$^$?$OH!?t7A<0$,F~NO$G$-$k(B. |
x $B$r0z?t$H$9$kH!?t8F$S=P$7$^$?$OH!?t7A<0$,F~NO$G$-$k(B. |
|
\E |
|
\BEG |
|
@item |
|
See @ref{vtype} for function form. |
|
@item |
|
Extract the functor and the arguments of function form @var{func}. |
|
@item |
|
Assign a program variable, say @code{F}, to the functor obtained |
|
by @code{functor()}. Then, you can type (@code{*F})(x) |
|
(, or (@code{*F})(x,y,...) |
|
depending on the arity,) to input a function form with argument x. |
|
\E |
@end itemize |
@end itemize |
|
|
@example |
@example |
|
|
[x] |
[x] |
[0] funargs(sin(3*cos(y))); |
[0] funargs(sin(3*cos(y))); |
[sin,3*cos(y)] |
[sin,3*cos(y)] |
[1] for (L=[sin,cos,tan];L!=[];L=cdr(L)) @{A=car(L); print(eval((*A)(@@pi/3)));@} |
[1] for (L=[sin,cos,tan];L!=[];L=cdr(L)) @{A=car(L); |
|
print(eval((*A)(@@pi/3)));@} |
0.86602540349122136831 |
0.86602540349122136831 |
0.5000000002 |
0.5000000002 |
1.7320508058 |
1.7320508058 |
@end example |
@end example |
|
|
@table @t |
@table @t |
@item $B;2>H(B |
\JP @item $B;2>H(B |
|
\EG @item References |
@fref{vtype}. |
@fref{vtype}. |
@end table |
@end table |
|
|