Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica >
Mathematicaチュートリアル関数 »|チュートリアル »

評価中に式を集める

多くの場合は入力された式の評価の最終結果だけに興味があるが,評価の途中で生成された式を取り出したいこともある.SowReapを使うとこれが可能になる.
Sow[val]最も近くに囲っているReapに値 val を播く
Reap[expr]expr を評価し,Sowによって播かれた値のリストも一緒に返す

SowReapを使う

ここでは出力に最終結果しか入っていない.
In[1]:=
Click for copyable input
Out[1]=
次の場合は中間の2つの結果もまた含まれている.
In[2]:=
Click for copyable input
Out[2]=
これは偶数項をすべて集めて総和を計算する.
In[3]:=
Click for copyable input
Out[3]=
SowReapThrowCatchのように計算のどこででも使うことができる.
Sowできる関数を定義する.
In[4]:=
Click for copyable input
これは1/2より小さな場合をすべて刈り取って関数をネストさせる.
In[5]:=
Click for copyable input
Out[5]=
Sow[val,tag]刈り取るときを示したタグを付けてval を播く
Sow[val,{tag1,tag2,...}]各タグtagival を播く
Reap[expr,form]タグが form にマッチするすべての値を刈り取る
Reap[expr,{form1,form2,...}]formi ごとに別々のリストを作る
Reap[expr,{form1,...},f]各タグと値のリストに f を適用する

タグ播きと刈り取り

これはのタグxを付けて播かれた値だけを刈り取る.
In[6]:=
Click for copyable input
Out[6]=
ここでは1がタグxを付けて2度播かれている.
In[7]:=
Click for copyable input
Out[7]=
異なるタグを付けて播かれた値は異なるサブリストに入れられる.
In[8]:=
Click for copyable input
Out[8]=
これは播かれたタグの形式別のサブリストを作る.
In[9]:=
Click for copyable input
Out[9]=
個々のタグと値のリストにfを適用する.
In[10]:=
Click for copyable input
Out[10]=
このタグを計算の一部にすることができる.
In[11]:=
Click for copyable input
Out[11]=
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team