!Mathematicaプログラミング !!■ 式 !!!式の形式 Mathematicaではすべてのものは式として表現される。 式は以下のような形を取る。 <<< ヘッド[式1, 式2, ...] >>> FullFormという関数を用いることで、 与えられた式のシンタックスシュガーを用いない 正式な形を得ることが出来る。 また、Headと言う関数を用いることで、 式のヘッドの部分を取り出すことが可能である。 <<< In[1]:= FullForm[{1,2,3}] Out[1]//FullForm= List[1, 2, 3] In[2]:= Head[{1,2,3}] Out[2]= List In[3]:= FullForm[a+b*c] Out[3]//FullForm= Plus[a, Times[b, c]] In[4]:= Head[a+b*c] Out[4]= Plus >>> !!!リストを扱う関数の式への適用 MapやFoldなどのリストに対して処理を行う関数は リストだけでなく、様々な式に対して適用可能となっている。 リストはただ単に「List[...]」という形をとる 式でしかないためにある意味当然とも言える。 <<< In[1]:= Map[(#*4)&, hoo[2,6,8]] Out[1]= hoo[8, 24, 32] In[2]:= foo[x, y, z][[2]] Out[2]= y >>> !!!ヘッドの書き換え 「foo[1, 2, 3]」から「hoo[1, 2, 3]」へなどのように ヘッドを変更したい場合は以下のようにおこなう。 <<< In[1]:= Apply[hoo, foo[1,2,3]] Out[1]= hoo[1, 2, 3] >>> Applyは「@@」によって表現可能であるため以下の様にしてもよい。 <<< In[1]:= hoo @@ foo[1,2,3] Out[1]= hoo[1, 2, 3] >>>