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}

この様に「=」を使用した場合は代入時の右辺の値がそのまま使用されるが、 「:=」を使用すると変数の評価時に毎回右辺が評価されるようになる。

今回の場合、クロージャーと見ると理解しやすいのではないかと思われる。