gpt4 book ai didi

netlogo - 没有名字?已定义

转载 作者:行者123 更新时间:2023-12-04 14:01:19 24 4
gpt4 key购买 nike

我有一个 NetLogo 教程的小问题。
我有以下情况:

报告获得最佳行动

   let x xcor

let y ycor

let dir heading

let best-action 0

let best-utility -100000

foreach actions[

set heading dir

run ?

let utility-of-action get-utility xcor ycor heading

if (utility-of-action > best-utility) [
set best-action ?
set best-utility utility-of-action
]
setxy x y
set heading dir
]
report (list best-action best-utility)

结尾

和...

问补丁[

foreach 标题 [
    let x pxcor

let y pycor

let dir ?

......

在任何呈现的情况下,标识符“?”被视为未定义。它应该可以工作,因为即使在 foreach 的示例中,标识符的使用方式也是相同的。查询 https://ccl.northwestern.edu/netlogo/docs/programming.html .

我做错什么了吗?有谁知道另一种解决方案,因为我尝试使用项目 i 并且项目的行为已被修改。 (查看项目: https://www.youtube.com/watch?v=dBDVkPjyYF4)

我会很感激你的帮助。谢谢!

最佳答案

在版本 6 之前的 NetLogo 中,符号 ? ?1 ?1等被用作某些原语中的占位符,尤其是那些处理列表项的原语。
在第 6 版中,引入了使用“匿名”过程的新语法。您可以使用 ?或 ?1 等通过将新的语法元素添加到语句块来进行很少的更改。


标题
代码


单例?占位符
添加额外空间以强调变化

旧语法foreach [ 1 2 3 4 ] [ show ? ]
新语法foreach [ 1 2 3 4 ] [ ? -> show ? ]


多个 ?1 ?1占位符
添加额外空间以强调变化


旧语法(foreach [1 2] ["a" "b"][ show (word ?1 ?2)]
新语法(foreach [1 2] ["a" "b"][ [?1 ?2] -> show (word ?1 ?2)]

关于netlogo - 没有名字?已定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41366927/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com