首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >爬虫-无法访问爬行内存

爬虫-无法访问爬行内存
EN

Stack Overflow用户
提问于 2017-08-18 10:50:07
回答 1查看 500关注 0票数 1

我对Screep比较陌生,我一直致力于构建自己的基本AI系统。然而,我在最初的测试中遇到了一个问题。我有一个确定要做的作业的脚本,然后爬虫请求可用的作业。我已经能够将Job对象存储到爬虫的内存中,但稍后我无法再调用它。

我可以在Memory选项卡中确认所有信息都在那里,并正确存储,但当我试图访问它时,我只能得到undefined

我使用以下模板函数创建作业:

代码语言:javascript
运行
复制
jobFactory: function()
    {
        // Generates a blank JOB template
        var job = {
            'id': null,     // id of job will double as id of the target 
                                     (ie. a energy source id)
            'type': null,   // used to classify job tickets to some extent
            'spots': 0,     // total # of creeps that can be assigned to this
            'workers': []   // current # and IDs of creeps assigned
        };
        return job;
    },

然后我可以用creep.memory.job = job;来存储它:

我尝试访问它的方式是:console.log("Creep job: " + creep.memory.job);

我已经将它与游戏教程进行了比较,对于我的生活,我似乎弄不明白为什么我不能从内存中访问对象。

EN

回答 1

Stack Overflow用户

发布于 2017-10-21 00:46:43

我在我的一个角色模块的开头添加了这两行:

代码语言:javascript
运行
复制
creep.memory.job = { foo: "hello", bar: 42};
console.log("Foo: " + creep.memory.job);

输出为:Foo: [object Object]

如果我改用console.log("Foo: " + creep.memory.job.foo);,那么输出就是Foo: hello

我知道这不能解释undefined,但我想澄清一下您应该看到什么。

另一件要确定的事情是,变量creep就是您认为的那个变量。在console.log("Creep job: " + creep.memory.job);之前立即用console.log(creep.name);仔细检查一下。

如果所有这些都没有帮助,那么更多的代码和更多的上下文将是有用的。(我不确定您到底要在哪里执行哪些代码。)另外,确切的输出是什么?你得到的是Creep job: undefined还是undefined

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45747759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档