===== 概要 ===== * MiniScript1.6.2がリリースされてます(1年前だったorz) * https://github.com/JoeStrout/miniscript/releases/tag/v1.6.2 * 1.6.2の変更・追加点についてまとめるもの。 ===== 変更点 ===== * 新機能: `intrinsics` 読み取り専用マップは、組み込みメソッドを参照する別の方法を提供します * 改善: 1 行の `if` の後に別の `if` を続けることができるようになりました * 改善: 非マップ引数を持つ `new` が適切なエラーを生成するようになりました 上記変更により、より書き方に幅が出てきました。個人的にはifの書き方が同じ行になったので走り書きがやりやすいかなと思いました。 あとIntrinsic一覧を出せることでREPLで記述する際に便利になりますね。 ---- * 最適化: `self`、`globals`、`locals`、および `outer` の使用がわずかに高速になりました * 修正: 2^31 より大きい値でビット演算が失敗しました (現在は 2^53 まで有効です) * 修正: ループ外の `break` が不正なエラー メッセージまたは REPL 動作を生成しました * 修正: `x isa null` が一貫性のない結果を生成しました * 修正: `@` の演算子の優先順位 (現在は `new` と `^` の間) * 修正 [C# のみ]: 状況によっては `@` が関数呼び出しを抑制できませんでした * 修正 [C# のみ]: 結果が一貫性がありません`str(-1 and 0)` * 修正: ブールコンテキストの funcRefs が誤って false として扱われる * 修正 [C++ のみ]: キーワードの後の行継続が失敗する (例: `and`、`or`、`new`) * 修正 [C++ のみ]: リストまたは文字列を Inf で乗算しようとすると不正な動作になる * 修正 [C++ のみ]: `file[10]` および `file.foo` が記述エラーを生成しない * 修正: 文字列リテラル内の改行が「閉じ引用符がありません」エラーを生成しない * 新機能: ValMap の内部 `evalOverride` 機能により、ホスト コードがマップからの読み取りをインターセプトできる Bugfixもされてます。