ライブラリー
「ライブラリー」とは、ライブラリー・オブジェクトとして定義された変数、函数、プログラムの集合体から成るドキュメントのことです。
普通の変数、函数、プログラムは、その変数、函数、プログラムの定義されたプロブレム内でしか使用できませんが、ライブラリー・オブジェクトは、どのドキュメントからでもアクセスできます。カタログに表示されるパブリック・ライブラリー・オブジェクトを作成することも可能です。
たとえば、パブリック・ライブラリー函数diagwithtrace()とプライベート・ライブラリー函数errmsg()とから成るライブラリー・ドキュメントmatrixを作成したとしましょう。
函数diagwithtrace()は、正方行列の主対角線の各要素を1行行列として表示する(diag())とともに、主対角線の各要素の和を計算します(trace())。入力が正方行列でない場合(rowDim(m)≠colDim(m))はerrmsg()を呼び出します。呼び出されたerrmsg()は、しかるべきエラー文字列(Error: matrix is not square)を返します。
現行プロブレムで定義した行列mの主対角線の1行行列の表示および主対角線の総和の計算は、次の構文で実行できます。
matrix\diagwithtrace(m)
(ドキュメント名\ライブラリー名(引数))
ライブラリーおよびライブラリー・オブジェクトを作成する
指定のライブラリー・フォルダーに保存またはコピーしたドキュメントはライブラリーと見なされます。ライブラリー・フォルダーのデフォルト・ロケーションは以下のとおりです。
Windows®:My Documents\TI-Nspire\MyLib
Mac®:Documents/TI-Nspire/MyLib
ハンドヘルド:MyLib
上記のフォルダーをうっかり削除した場合は、元どおりに作成し直さないとライブラリーが使用できません。
ライブラリー・オブジェクトは、Program EditorでもCalculatorでも定義できます。ライブラリー・オブジェクトは、Defineコマンドで定義しなければならず、かつライブラリー・ドキュメントの先頭のプロブレムに記述しなければなりません。
注:Program Editorを使ってライブラリー関数またはライブラリー・プログラムを定義する場合は、ライブラリー・オブジェクトを保存したうえで、さらにライブラリー・ドキュメントも保存しなければなりません。ライブラリー・ドキュメントを保存しても、ライブラリー・オブジェクトは自動的には保存されません。詳しくは「プログラミング」を見てください。
ライブラリー・ドキュメントおよびライブラリー・オブジェクトの命名規則は以下のとおりです。
- 1~16文字の有効な変数名であること。ピリオドを含んではならない。下線を先頭文字にしてはならない。
- 1~15文字の有効な変数名であること。ピリオドを含んではならない。下線を先頭文字にしてはならない。
プライベート・オブジェクトとパブリック・オブジェクト
ライブラリー・オブジェクトを定義するときは、プライベート(LibPriv)、パブリック(LibPub)のいずれかを指定します。
Define a=5
aはライブラリー・オブジェクトではありません。
Define LibPriv b={1,2,3}
bは、プライベート・ライブラリー・オブジェクトです。
Define LibPub func1(x)=x^2 - 1
func1は、パブリック・ライブラリー・オブジェクトです。
プライベート・ライブラリー・オブジェクトは、カタログには表示されませんが、オブジェクト名を入力すればアクセスできます。プライベート・オブジェクトは、低レベルの基本的なタスクを実行するビルディング・ブロックとしてかなり役に立ちます。一般に、プライベート・ライブラリー・オブジェクトは、パブリック函数およびパブリック・プログラムから呼び出されます。
パブリック・ライブラリー・オブジェクトは、ライブラリーをリフレッシュしたあと、カタログのライブラリー・タブに表示されます。パブリック・ライブラリー・オブジェクトは、カタログからもアクセスできるし、オブジェクト名を入力してもアクセスできます。
Mac®のみ:TI-Nspireバージョン1.4では、ライブラリー・ドキュメント名にÖ、á、ñのような拡張文字を含めることはできません。
注:パブリック・ライブラリー・プログラムのPrgm行の直後、またはパブリック・ライブラリー函数のFunc行の直後に記述されたコメント行(©)は、ヘルプとして自動的にカタログに表示されます。このヘルプには、たとえば構文の意味などが表示できます。
短い名前、長い名前を使う
オブジェクトを定義したプロブレムを開いているときはいつでも、短い名前を入力することでそのオブジェクトへアクセスできます(「短い名前」とは、Defineコマンドで指定した名前のことです)。ライブラリー・オブジェクト(プライベートもパブリックも)やライブラリー以外のオブジェクトなど、定義されたオブジェクトはすべて、この方法でアクセスできます。
長い名前を入力すれば、どのドキュメントからでもそのライブラリー・オブジェクトへアクセスできます。「長い名前」は、“オブジェクトのライブラリー・ドキュメント名\オブジェクト名”という形で指定します。たとえばライブラリー・ドキュメントlib1の中でfunc1として定義されたオブジェクトの長い名前はlib1\func1です。ハンドヘルドで“\”を入力するときは[↑shift][÷]を押してください。
注:正確な名前が思い出せない場合、またはプライベート・ライブラリー・オブジェクトに必要な引数の順番が思い出せない場合は、当のライブラリー・ドキュメントを開くかProgram Editorを使うかすれば、そのオブジェクトの内容を見ることができます。getVarInfoを使えば、同じライブラリーに含まれているオブジェクトのリストを見ることができます。
ライブラリー・オブジェクトを使う
ライブラリー変数、ライブラリー関数、ライブラリー・プログラムのいずれを使う場合も、その前に必ず以下の手順が実行済みであることを確認してください。
- オブジェクトがDefineコマンドで定義されていること。そのDefineコマンドでLibPriv、LibPubのいずれかの属性が指定されていること。
- 目的のオブジェクトがライブラリー・ドキュメントの先頭のプロブレム内に配置されていること。ライブラリー・ドキュメントが、指定のライブラリー・フォルダーに格納されていて、かつ命名規則に従っていること。
- Program Editorを使ってオブジェクトを定義した場合は、そのオブジェクトが[Program Editor]メニューの[Check Syntax&Store]で保存済みであること。
- ライブラリーがリフレッシュ済みであること。
ライブラリーをリフレッシュする
▶ ライブラリーをリフレッシュすると、ライブラリー・オブジェクトがドキュメントで使えるようになります。
- [Tools]メニューの[RefreshLibraries]をクリックしてください。
ハンドヘルド:[ctrl][menu]を押してから[Refresh Libraries]をクリックしてください。
パブリック・ライブラリー・オブジェクトを使う
1. ライブラリーをリフレッシュします。
2. ライブラリー変数、ライブラリー函数、ライブラリー・プログラムを使いたいアプリケーションを開きます。
注:函数はどのアプリケーションでも実行できますが、プログラムはCalculatorおよびNotesでしか実行できません。
3. カタログを開き、ライブラリー・タブを使って目的のオブジェクトを見つけて挿入します。
4. 引数が必要な場合は、括弧内にその引数を入力します。
プライベート・ライブラリー・オブジェクトを使う
1. ライブラリーをリフレッシュします。
2. ライブラリー変数、ライブラリー函数、ライブラリー・プログラムを使いたいアプリケーションを開きます。
注:函数はどのアプリケーションでも実行できますが、プログラムはCalculatorおよびNotesでしか実行できません。
3. lib1\func1()のように、オブジェクト名を入力します。
函数、プログラムのいずれの場合も、そのオブジェクト名のうしろに必ず括弧をつけてください。ハンドヘルドで“\”を入力するときは[↑shift][÷]を押してください。
4. 引数が必要な場合は、括弧内にその引数を入力します。
ライブラリー・オブジェクトへのショートカットを作成する
libShortcut()を使ってオブジェクトへのショートカットを作成すれば、ライブラリー内のオブジェクトへもっと簡単にアクセスできるようになります。この操作を行うと、指定したライブラリー・ドキュメント内にあるすべてのオブジェクトへの参照を含んだ変数グループが現行プロブレム内に作成されます。この操作にプライベート・ライブラリー・オブジェクトを含めることも含めないことも可能です。
たとえばライブラリー・ドキュメントlinalgの中に、clearmat、cofactor、gausstep、help、inversestep、kernelbasis、rank、simultstepという各函数が含まれているとします。libShortcut(“linalg”,“la”)を実行すると、以下のメンバーを含んだ変数グループが作成されます。
la.clearmat
la.cofactor
la.gausstep
la.help
la.inversestep
la.kernelbasis
la.rank
la.simultstep
こうして生成された変数名を入力するか[Variables]メニューで選択するかすれば、現行プロブレムから元のライブラリー・オブジェクトが参照できます。
libShortcut()の用法について詳しくは『リファレンス・ガイド』を参照してください。
附属ライブラリー
ライブラリーは是非活用してほしいので、TI-Nspire™には、便利な線形代数函数を含んだライブラリー・ドキュメントが最初から附属しています。附属ライブラリーの名前はlinalgまたはlinalgCASです。指定のライブラリー・フォルダーに格納されています。
注:ハンドヘルドのOSをアップデートした場合、またはTI-Nspire Softwareをインストールし直した場合、附属ライブラリーはすべてデフォルト・フォルダーに配置されます。附属ライブラリー内のオブジェクトを編集した場合、または同じ名前の別のドキュメントに附属ライブラリーを置き換えた場合は、アップデートもしくは再インストールを行うと、それ以前の変更は上書きされます。バッテリーを交換した場合、またはハンドヘルドをリセットした場合も、同じことの起きるおそれがあります。
附属ライブラリーを復元する
附属ライブラリーは、うっかり削除したり上書きしたりしても、インストールDVDから復元できます。
1. インストールDVDを開いてlibsフォルダーへ移動します。
2. 復元したいライブラリー・ファイル(線形代数ライブラリーの場合はlinalg.tnsまたはlinalgCAS.tnsなど)を見つけます。
3. 見つけたファイルをコピーします。
- Windows®:指定のライブラリー・フォルダーへコピーしてください。デフォルト・ロケーションはMy Documents\TI-Nspire\MyLibです。
- Mac®:指定のライブラリー・フォルダーへコピーしてください。デフォルト・ロケーションはDocuments/TI-Nspire/MyLibです。
- ハンドヘルド:ハンドヘルドをPCに接続し、TI-Nspire Softwareを開き、目的のライブラリー・ファイルをハンドヘルドのMyLibフォルダーへコピーしてください。
4. 新しいライブラリー・オブジェクトを起動します。
- TI-Nspire™ Softwareの[Tools]メニューの[RefreshLibraries]をクリックしてください。
ハンドヘルド:[ctrl][menu]を押してから[Refresh Libraries]をクリックしてください。