最終更新日 2021-03-21

hmJSが持つ特別な関数一覧 その①

デバッグ用途関数

デバッグ用途として以下の関数を利用し、「秀丸デバッグモニター」などに値や文字列を表示することが出来ます。

  • hm.debuginfo( オブジェクト, ... )

    対象のオブジェクトを文字列化し、システムデバッガへと文字列を転送します。
    「秀丸デバッグモニター」などに値や文字列を確認することが可能です。

  • console.log( オブジェクト, ... )

    hm.debuginfo( ... ) とほぼ同じですが、第1引数がsprintf系の「書式化指定子」を解釈できます。

    console.log("これは%dです", 10);
    
  • console.assert( 真偽値, オブジェクト, ... )

    第1引数が「偽」の時だけ、全ての引数をhm.debuginfo(...)へと渡します。

秀丸本体のバージョン

秀丸本体のバージョンを数値として取得します。

  • hm.version

    秀丸 8.7.3.β3 の場合は、873.03、
    秀丸 8.7.3.β10 の場合は、873.10、
    秀丸 8.7.3 正式版 の場合は、873.99、
    といったような値が返ってきます。

DestroyScope関数

JavaScript内に「DestroyScope」という名前の関数を用意しておくと、
マクロ終了時に自動的にその関数が実行されます。

#JS = loaddll( hidemarudir + @"\hmJS.dll" );

#_ = dllfuncw( #JS, "DoString", R"JS(

function DestroyScope() {
  hm.debuginfo("マクロ終了する直前に自動的にこの関数が呼び出される。");
}

)JS"
);

freedll( #JS );