原典:
http://compasstech.com.au/TNS_Authoring/Scripting/script_tut3.html
レッスン3.2「表示する内容を変える」
これまで作成したきたスクリプトを少しいじるだけで、複数行を表示する短いドキュメントがずっと便利なツールへと変わります。
前回までのスクリプトでは、以下のコマンド・ラインでテーブルの各行を作成しました。
table[k] = "Line #"..k
これは、kの現在の値と文字列"Line #"とを連結するコマンドですので、最初の行は"Line #1"となり、順次、"Line #2"、"Line #3"...のように繰り返されます。
var.recallコマンドの働きは、TI-Nspireの変数の現在値を取得し、それをLuaで使えるようにすることでしたね。このレッスンの例では、表示する行数を取得する手段としてvar.recallを使いました。
さて今度は、たとえばline1という変数を設定し、その内容を最初の行にしてみましょう。そうしてline2の内容を2行目に、line3の内容を3行目に......というふうにしてみます。表示する内容は、簡単に制御できるうえ、TI-Nspireでいつでも変更できます。
この処理は、上のコマンド・ラインを次のように変更するだけでできます。
table[k] = (var.recall("line"..k) or "Line #"..k)
上のコマンド・ラインを良く見て、どういう動作をするのか考えてください。
k = 1のとき、var.recallは、line1という名前の変数を探し、それをtable[1]としてストアします(テーブル変数tableの先頭のエントリーになるということです)。見つからない場合は、ただの"Line #1"という行になります(ブランクにしても良いでしょう)。
k = 2のときは、変数line2の現在値としてtable[2]が定義されます。以降は同様に繰り返されます。
この変数の値は、TI-Nspireドキュメントの変数にストアするや、すぐにLuaスクリプト・ページに表示されます。
-------------------------------------------------------------
(訳註)今回の実行例
TI-Nspireドキュメント内(左下の枠)で変数に値を代入すると、すぐにスクリプト画面(上の枠)に反映された。