2.9 Chiến lược sửa lỗi trong khi chạy robot (JS - sử dụng chức năng eval)

Tác giả:Giấc mơ nhỏ, Tạo: 2016-11-15 14:54:40, Cập nhật: 2017-10-11 10:21:40

Tương tác Chiến lược robot trong quá trình điều hành (tạm dịch: sử dụng chức năng JS eval)

  • Trước tiên chúng ta hãy xem một chút về hàm eval trong JS:

    W3schoolimg img

    Sau khi hiểu về hàm eval, hãy xem cách thực hiện mã trong giao tiếp chính sách!

  • Các chiến lược được thực hiện trong tương tác:

    Sự tương tác chính sách đòi hỏi người dùng xử lý giá trị trả về của hàm 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);        // 输出错误信息
    }
}

Dưới đây, chúng tôi đã viết đoạn mã này vào chính sách và cấu hình các điều khiển giao diện tương tác. Có thể sử dụng mã kiểm tra đầy đủ:

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);
    }
}

Thêm điều khiển tương tác:img

  • Hãy chạy:

    imgChúng ta sẽ thay đổi các biến giá, số lượng.imgNếu là mã sai, sẽ có sự bất thường:img

Thêm nữa

Những đám mây nhẹCảm ơn anh, cuối cùng tôi đã tìm ra cách để tương tác.