概要
秀丸マクロから呼び出すhmRbの関数(API)は多くありません。
ほとんどの場合は、「DoString」だけを使うこととなるでしょう。
Rubyファイルを別ファイルにした場合には、「DoFile」を使うことになるハズです。
-
命令の実行:
└ DoString(szexpression)
文字列「szexpression」をIronRubyの命令として実行します。
何らかの明確な内部エラーがあった場合は0が、とりあえず実行できた場合は1が返ってきます。
-
1つのマクロ内で「DoString」は複数回実行可能、変数空間も同じ
#RB = loaddll( hidemarudir + @"\hmRb.dll" );
#_ = dllfuncw( #RB, "DoString", R"RB(
aaa = "あいうお";
def mysum(a, b)
return a + b;
end
)RB"
);
#bbb = 123;
#_ = dllfuncw( #RB, "DoString", R"RB(
bbb = $hm.Macro.Var['#bbb'];
ccc = aaa + "続いている"; # 別のDoStringでも、aaa は引き続き利用できる。
$hm.Macro.Var['$ddd'] = ccc;
$hm.debuginfo( mysum(1,2) ); # 別のDoStringで定義した関数も当然利用できる。
)RB"
);
message($ddd);
freedll( #RB );
-
命令の実行:
└ DoFile(filename)
ファイル名「filename」内の記述内容全体をDoString(...)の引数に渡したものとして実行します。
何らかの明確な内部エラーがあった場合は0が、とりあえず実行できた場合は1が返ってきます。
-
.rbファイルの文字コードの変更など:
└ SetCodePage(codepage)
「.rb」ファイルは、「utf8(BOM無)」「utf8(BOM有)」「utf16(BOM有)」のいずれかが想定されています。
それ以外で取り扱いたい場合、「SetCodePage」関数を利用してください。
この関数は「読み込み対象のファイル」が、該当のコードで記述してある、 という指定となります。