2.9 戦略 ロボット実行中のデュウミュウ (JS - eval関数の巧妙な使用)

作者: リン・ハーン小さな夢, 作成日:2016年11月15日 14:54:40, 更新日:2017年10月11日 10:21:40

インタラクション 戦略 ロボット 実行中のデバッグ (JS eval関数の巧妙な使用)

  • この例では,JSで eval の関数について,

    学校img img

    基本的には,Eval関数について学び,戦略的なインタラクションのコード実装を見てみましょう.

  • 戦略的インタラクションの実現:

    ポリシーインタラクションは,ユーザがAPI GetCommand関数の返却値を処理することを要求する.

var cmd = GetCommand();             // 调用API  获取界面交互控件的消息。 
if (cmd) {                          // 判断是否有消息
    var js = cmd.split(':', 2)[1];  // 分割 返回的消息 字符串, 限制返回2个, 把索引为1的 元素 赋值给 名为js 的变量 
    Log("执行调试代码:", js);         // 输出 执行的代码
    try {                           // 异常检测
        eval(js);                   // 执行 eval函数, 该函数执行传入的参数(代码)。
    } catch(e) {                    // 抛出异常
        Log("Exception", e);        // 输出错误信息
    }
}

インタラクティブ・インターフェースのコントロールを設定するために,このコードを策略に書き込みました. テストコードはこちら.

var price = 0;
var amount = 0;
function main() {
    Log("初始 price:", price, "初始 amount", amount);
    while(true){
        var cmd = GetCommand();             // 调用API  获取界面交互控件的消息。 
        if (cmd) {                          // 判断是否有消息
            var js = cmd.split(':', 2)[1];  // 分割 返回的消息 字符串, 限制返回2个, 把索引为1的 元素 赋值给 名为js 的变量 
            Log("执行调试代码:", js);         // 输出 执行的代码
            try {                           // 异常检测
                eval(js);                   // 执行 eval函数, 该函数执行传入的参数(代码)。
            } catch(e) {                    // 抛出异常
                Log("Exception", e);        // 输出错误信息
            }
        }
        Sleep(1000);
    }
}

インタラクティブなコントロールを追加します:img

  • 実行してみてください:

    img値が値に等しい場合は,値が値に等しい場合,img誤ったコードの場合,異常が表示されます.img

もっと

軽い雲ダンダーのおかげで,ついにやり取りの使い方を見つけました.