Type/to search
8
Follow
1386
Followers
2.9 策略机器人运行中调试(JS - eval 函数的巧用)
Tutorials
Created 2016-11-15 14:54:40  Updated 2017-10-11 10:21:40
 3
 4253

交互 -- 策略机器人运行中调试(JS eval 函数的巧用)

  • 我们先来看一下JS 中 eval 函数的介绍:

    w3school
    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
Related Recommendations
Comment
All comments (1)

    感谢梦大,终于找到交互的用法了。。。[抱拳]

    4 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)