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}
この様に「=」を使用した場合は代入時の右辺の値がそのまま使用されるが、 「:=」を使用すると変数の評価時に毎回右辺が評価されるようになる。
今回の場合、クロージャーと見ると理解しやすいのではないかと思われる。