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우리는 전체 변수인 price, amount를 수정합니다.img이 문서는 다른 문장과 다른 문장과 다른 문장과 다른 문장과 다른 문장과 다른 문장과 같은 문장과 같은 문장들을 포함합니다.img

더 많은

가벼운 구름: : : : : : : : : : : :