!Mathematicaプログラミング !!■ 変数 シンボルに値や式などを割り当てることで変数を表現する。 !!!代入 (即時評価) 変数への値の代入には「=」を使用する。 <<< In[1]:= hoge = 123 Out[1]= 123 In[2]:= hoge Out[2]= 123 >>> むろん、数字だけでなく文字列や式でも可能である。 <<< In[1]:= foo = a+b Out[1]= a + b In[2]:= foo Out[2]= a + b In[3]:= bar = "hello" Out[3]= hello In[4]:= bar Out[4]= hello >>> !!!代入 (遅延評価) 代入の際に「:=」を使用すると遅延評価となる。 <<< In[1]:= a = Random[] Out[1]= 0.783357 In[2]:= {a, a, a} Out[2]= {0.783357, 0.783357, 0.783357} In[3]:= b := Random[] In[4]:= {b, b, b} Out[4]= {0.284903, 0.56722, 0.307804} >>> この様に「=」を使用した場合は代入時の右辺の値がそのまま使用されるが、 「:=」を使用すると変数の評価時に毎回右辺が評価されるようになる。 今回の場合、クロージャーと見ると理解しやすいのではないかと思われる。