カルキング 7 その2

ライブラリの強化

 Ver7 から登録できるタイプに[永続性配列]が追加されました。 ここでは、やや詳しく説明してみましょう。

 カルキングの持つプログラミング機能「スクリプト」を含め、関数や変数・定数、などは、ライブラリファイル(*.lbr)の中で「ライブラリ登録」しておけば、一般のドキュメントファイル内での定義なしに、「関数」などを使えます。 配列も同様の扱いができるといいのですが、これまでは無理でした。

 変数や定数と同様に「配列」をライブラリー登録するには、ソフト内でそれらと同様の定義が必要です。 しかし、配列は扱いが特殊で尋常ではライブラリ登録できません。

 配列は、数値の集まりで、多くの場合大きな集合体となる傾向があります。 一方で、カルキングは、「配列」の膨大なデータを高速処理することを「売り」にしたソフトで、ドキュメント内に配列を実態として置かずに、(揮発性の)メモリーの中に置いて処理しています。

 この辺を使いこなしている方々はご存じのはずですが、配列定義したデータは、演算処理の過程でその時点での値を確認できますが、ファイルを閉じて開き直したときの配列の値は、そのファイルで最初に定義した時の状態に戻っています。

 したがって、このような性格の「配列」をライブラリ登録するのは無理な相談だったのです。

 説明が長くなりましたが、「カルキング」はこの馬鹿デカイ配列を、ライブラリ登録できるようにしてくれました。それが[永続性配列]です。

 [永続性配列]は、ライブラリファイル内に定義登録され、ライブラリとして保持するべき数値群は、同じライブラリファイル内に配列の中身を表示した状態で代入定義されたまま上書き保存され、次回の呼び出し時に、そのままファイルへ読み込まれるようです。 では、メーカーから供給されたサンプルファイルに記載された作業内容を、ここで追ってみましょう。


 ここで使うファイルは、カルキングの「サンプルファイル」の中の、「永続性配列」フォルダに入っている(1)「Weather.lbr」と(2)「永続性配列作業例.clk」の2つです。

 (2)「永続性配列作業例.clk」は、3つの表「関東1〜3月」から、作業用の 7地点*4項目のデータ行のみを抜き出した表「Sheet1〜3」を経由して、作業用配列「関東1〜3」へデータを流し込んでいます。このときの配列は定義時に、

のように中身の値がすべて"0"の配列なので、作業を終了して保存した場合、改めて開いても値は、"0"で作業結果は保持されません。これに対応するための作業を(1)「Weather.lbr」に準備します。

1. 永続性配列宣言

 ライブラリファイルを最初から作る作業です。新規の白紙のファイルを準備し、"weather"という名前で要素数=10 の配列を準備します。

記入 配列定義 ライブラリ登録

 上図左と中のように配列の記述ができたところで、ファイル 名前を付けて保存 で、「Weather.lbr」と命名します。テンポラリファイルの「work1.clk」のままではライブラリ登録の作業ができないからです。これで永続性配列の作成する準備ができました。

上式を選択してライブラリ操作で登録パネルを呼び出し、「永続性配列」を指定し「登録」ボタンで登録します。この操作によって式はライブラリ定義色の緑色に変わります。

2. 永続性配列に対する定型処理

 この処理は必ず行ってください。カルキングの基本機能によって自動的に実現するための準備です。

 この式に対して「計算」続いて「代入定義」を実行します。

計算の結果
代入定義の結果

3. 必要なプロパティの設定

 ここで以下のプロパティ項目を設定し、「適用」ボタンをクリックします。

1 ファイルを開くときに再実行される式
2 ファイルを閉じるときに再実行される式

 これらのチェックを付加しても特に式の上では見かけ上変化はありません。

 最後にこのファイルを上書き保存すれば完了です。ファイルを閉じてもかまいません。

 永続性配列にとっての本質的情報は二つの式、すなわち、
 緑色のライブラリ登録をした式ピンク色の代入定義された式だけです。

 以上の作業が済めば、「永続性配列作業例.clk」の中で、

のような式を使って、代入定義すれば、中身が10個の"0"の永続性配列の最初の"0"が上の配列に置き換わります。同様に、

の式で代入定義すれば、2番目の"0"がこの配列で置き換えられます。このとき、代入定義した式の文字の色は変わりません。一方、ライブラリの永続性配列は、外観上ではすぐに反応せず、ファイルの保存などの際に現在の正確な情報が表示されます。

 「永続性配列」は解説しようとすると難解です。でも使いこなしてみると、呆れるほど大きな配列を見事に処理してくれます。

 筆者も、この配列を応用して、配列表示を使った4000ケタを超える演算システムを作ってみました。 スクリプトを使い、四則演算から平方根他を求めるもので、ちょっと遅いのが難点ですが、結構正解が出ているようです。

 前のページ へ戻る

 トップページ へ戻る

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送