保存されたログと表示されたログには異なるコンテンツが含まれています手動で広範囲に編集したテーブルがあり、将来自動化できるようにスクリプトを保存したいと考えています。 次のスクリプト(データテーブルに貼り付けるか、ユーザーが独立して実行できるようにすることを目的としています)を作成しましたが、これは機能しますが、保存するにはテキストファイルにコピーして貼り付ける必要があります。
dt = Current Data Table();
If( Is Empty ( dt ),
Try( dt = Open(), Throw("No data table found"))
);
Open Log();
dt << Get Script;Save Log( "");という行を追加すると、ログは正しく保存されましたが、実行されたスクリプトのトランスクリプトまでであり、dt << GetScript;の出力は含まれていません。 コマンドの並べ替えを何度も試しましたが、保存されたログを表示されたログと一致させることができません。
dt = Current Data Table();
If( Is Empty ( dt ),
Try( dt = Open(), Throw("No data table found"))
);
Open Log();
dt << Get Script;
Save Log("");
スクリプティングRe:保存されたログと表示されたログには異なるコンテンツが含まれていますdt << Get Script;
スクリプトを取得しますが、何もしません。 試してみてください
write(dt << Get Script);
式(セミコロンで区切られたステートメントが多数ある式でも)を評価するときのJMPの動作は、最後の結果を出力することです。 したがって、送信されたスクリプトがdt << GetScriptで終わると、それがログに記録されます。 それ以外の場合は、<< GetScriptメソッドが評価され、値が返されます。その後、別のステートメントが実行されるとすぐに、次のステートメントの結果を優先して値が破棄されます。
書き込みには、write( "\!n"、dt << GetScript)のような改行が必要になる場合があります。 print()関数やshow()関数とは異なり、write関数は出力される値に何も追加しません。