最終更新日 2024-09-25

最初から読み込み済みの「System.***」

概要

hmJSでは、よく利用するということで、「mscorelib」「System」「System.Core」に属するもの、
いわゆる「コアライブラリ」と呼ばれるものは、すべてロード済みです。

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

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

// C#で書くときにnewする必要がないようなメソッドならば、newする必要はない
var uuid = clr.System.Guid.NewGuid().ToString();
hm.OutputPane.Output(uuid + "\r\n")

)JS"
);

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

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

// 数学関数があるので、浮動小数計算も自由自在。
var num = clr.System.Math.Floor(3.3);
hm.debuginfo(num);

// 現在のカルチャーに合わせて書式化
var birthday = new clr.System.DateTime(2016, 10, 22);
var longbirth = birthday.ToLongDateString();
hm.debuginfo(longbirth);

// 次々と乱数発生
var rand = new clr.System.Random();
hm.debuginfo(rand.Next());
hm.debuginfo(rand.Next());
hm.debuginfo(rand.Next());

// CLRのSystem.int32の配列
var numbers = host.newArr(clr.System.Int32, 20);
for (var i = 0; i < numbers.Length; i++) {
    numbers[i] = i;
}
hm.debuginfo(clr.System.String.Join(', ', numbers));
)");

freedll(#JS);

この他にも、複雑なものもありますが、基本的には「ClearScript」の「JScriptEngine」となりますので、
こちらを参照してください。