Wolfram言語に慣れよう
■ 関数の引数は角カッコでくくる. |
■ 組込み関数名は大文字で始める. |
■ スペースは掛け算を意味する. |
■ ベキ乗には^を使う. |
■ 科学表記法で数を入力するには,例えば,2.5*^-4とか2.5*10^-4のようにする. |
他の計算システムを使った経験がある読者であれば,Wolfram言語に類似点や相違点があることに気が付いたであろう.似通ったシステムの間で違いを見付けることはなかなか難しいが,違いを明らかにすることで,どうしてWolfram言語はこうなっているのだろうかとか,どうしてこの部分は他の計算システムと比べて違うのか,等の疑問が晴れ理解が進むであろう.
Wolfram言語の数式記述では,関数の引数は丸カッコではなく角カッコでくくるという重要な1つの規則がある.この規則は他のプログラミング言語や従来の数学表記法にはないものである.そして,丸カッコは数式中の項をまとめるためだけに使われる.角カッコと丸カッコの区別は,引数を関数に渡す役目と複数の項をまとめるという役目が明らかに違うという考えに基づいている.これまで数学表記やプログラミング言語で丸カッコが両方の役割に使われてきた理由は活版印刷の伝統維持と初期のコンピュータのキーボード配列に由来する.
2種類のカッコを区別することでいくつかの利点が生まれる.丸カッコだけの記述では がc[1+x]なのかc*(1+x)かはっきりしないが,角カッコを使えば曖昧さはなくなる.さらに,掛け算を表すのにアスタリスク*を使う必要もなくなる.つまり,数学で普通に使う2xやaxまたはa (1+x)の記述はそのままWolfram言語でも使える.
「数学関数」でも示されているようにWolfram言語の組込み関数は長い名前を持つことが多い.どうしてWolfram言語の組込み関数はこんなに長い名前なのか,と疑問が湧くかもしれない.例えば,実数を生成するための擬似乱数関数はどうしてRandでなくてRandomRealなのか,と不思議に思われるかもしれない.この理由は,Wolfram言語の開発指針において常に念頭に置かれてきた一貫性という考えにある.つまり,関数名は,数学表記法に慣用的な省略形がない限り,関数機能に対応した省略なしの英語名とする,という指針に基づいているからである.そうすることで,関数の作用さえ分かれば,関数名の見当を付けられるので覚えやすくもなる.もし,省略形を使ったとすると一般英語名をどう省略したのか正確に覚えておかなければならなくなってしまう.
組込み関数の記述にもうひとつ重要なことは関数名と定数名は大文字で始まるということである.「変数の定義」と「ユーザ定義の関数」ではユーザ定義の変数と関数の名前の付け方について説明されている.組込み関数名を大文字で始める第1の利点は,組込みオブジェクトをユーザ定義の変数や関数から区別しやすくなることがある.maxを最大値を求める操作を表すMaxの意味で使ってしまったなら,後でmaxを変数名として使おうと思っても使えなくなってしまう.また,第2の利点として,Wolfram言語で書かれたプログラムを読み返すようなときに組込み関数名が見付けやすくなる,ということもある.