目次へ
Roman E. Maeder, Programming in Mathematica, 1996, ISBN 0-201-85449-X
プログラミングMATHEMATICA ( ver.3&4 対応), Roman Maeder 著、 時田 節 訳 (1999)
これは Mathematica パッケージ作成の本ですが、ページ xiv につぎのように書いてある。
本書はプログラミング教育の教科書や Mathematica の使い方を教える本して書かれたわけではありませんが、上級クラスで Mathematica の完璧な習得をめざすときに利用できるでしょう。
たしかに、何回か読み始めるのだが途中で止まってしまう。昨年出版された次の本に目を通したところ最後の章に Package について書いてあった。
Paul Wellin, Programming with Mathematica, 2013
この章を読むことで霧が晴れたような気持ちになった。これをきっかけに Package について少し学んだのでここに書くことにする。
AutoGeneratePackage
これを知ったのは、上述の「プログラミングMATHEMATICA 」の325ページ です。この11章の「11.1.1 パッケージとしてのノートブック」にノートブックからパッケージを作る方法が書いてある。
- ノートブックのパッケージ部分は初期化セル内にあるもの全てです。
- コマンド BeginPackage[ ], Begin[ ], EndPackage[ ] と End[ ] は別々のセルに置がなければならない。
- 注釈付パッケージのテンプレートがノートブック Template.nb です。
- パッケージを自動的にセーブする機構がノートブックとしてパッケージを作成するのに使われる。
- ノートブックのオプション AutoGenratePackage がこのように振る舞うようにしている。
- もしこの設定を Automatic にすれば初期化セルとマークされた(オプション InitializationCell ) は全てパッケージに(入力形で)書きこまれます。
これまで「初期化セル」の便利な機能を利用してきた。しかし、「m ファイル」としてセーブするメッセージに会ったことがない。しかし、この機能は上級者向けなのであって、標準で問い合わせないほうがよい。標準で問い合わせれば混乱のもとになってしまうからである。
Package の必要性
このブログで「Mathematica で Sudoku(数独)を解く」を書いてきた。その中でノートブックの構造を説明し、「初期化セル」の設定について書いている。これがまさに「 パーッケージの入口」である。これに気がついてから上記の本を再度読み直し始めたのが実情です。 いくつかの package を習得した後に、Sudoku package にとりかかろうと思う。