NetLogo 6.2中使用r:eval原语报错“Keyword expected”的技术求助
解决NetLogo R扩展中r:eval的"Keyword expected"报错
嗨,这个问题我刚好碰到过!你遇到的「Keyword expected」报错其实是两个小细节没注意到:
第一个问题:原语调用的语法错误
NetLogo的扩展原语是一个整体,r:和eval之间不能加空格!你写成了r: eval,这会让NetLogo把它识别成两个独立的元素,自然会抛出「期望关键字」的错误,正确的写法应该是r:eval。第二个问题:R代码的参数错误
你写的R代码seq (1.10)是错的——这里的点号会被当成小数,变成seq(1.10),相当于只传了一个参数,seq函数无法生成你想要的序列。正确的应该是用逗号分隔起始和结束值,写成seq(1, 10)。
修正后的完整代码如下(建议把执行逻辑放在NetLogo的过程里,比如setup):
extensions [r] to setup r:eval "x <- seq(1, 10)" show r:get "x" end
运行这个setup过程,就能正常获取R里生成的x序列啦!
内容的提问来源于stack exchange,提问作者Rafaela
相关产品推荐
相关产品推荐

