Send演算子を使用してテーブルを閉じる私は以下が同等の操作であると仮定しました:
Close( dt, nosave );<BR />dt << Close( nosave );
しかし、今度は同じ結果が得られないという立場にいます(Send演算子を使った2番目のバージョンではテーブルを閉じません)。
違いは何ですか?
送信演算子を使用してテーブルを閉じる知りません。Close()は、JSLが最初に導入されたJMP 4以降、メッセージプロトコルの一部ではなくデータテーブルの機能です。関数とメッセージの送信によって同じ結果が得られる場合がいくつかあります(ごくわずかです)。たとえば、プラットフォームpのレポートレイヤへの参照を取得するには、Report(p)を使用するか、p << Reportを使用します。
送信演算子を使用してテーブルを閉じるそれで、Close()はオブジェクトに送られることを意図されていませんでした、しかしそれはうまくいくかもしれません?私はメッセージを送信することによって排他的にテーブルを閉じるレガシースクリプトを採用しました...
送信演算子を使用してテーブルを閉じるCloseメッセージは複数のJSLオブジェクトに送信できますが、データテーブルには送信できません。
Data Tableは<< Closeメッセージをまったく受け入れません。これを「クリーンな」データテーブル(すでにディスクに保存されていて変更がないもの)に送信しても、データテーブルは閉じません。
dt = open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Close(); // nothing happens
テイクアウト:関数Close()とメッセージ<< Closeは同じものではなく、互換性もありません。
HTH、
メラニー