首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将NL-5中的匿名记者转换为NL6

将NL-5中的匿名记者转换为NL6
EN

Stack Overflow用户
提问于 2022-01-20 10:09:00
回答 2查看 25关注 0票数 0

我是NetLogo的新手,尝试使用v5在v6上编写的模型,并遇到了一些转换方面的挑战。

从阅读文档,替换?使用匿名函数似乎很容易理解,但是我所看到的大多数示例似乎都集中在foreach循环上,而没有足够地提到排序。当我应用我认为应该起作用的转换时,我碰到了一个错误,表明预期会出现文字。

我有一个挑战,这两个循环,特别是

代码语言:javascript
复制
#loop-1
foreach sort-by [[who] of ?1 < [who] of ?2] aset[ ]

#loop-2
foreach sort-by [ ?1 < ?2 ] bset [  ]

如果按下面的方式重写这两者,就会得到一个预期为文字的错误。

代码语言:javascript
复制
#loop-1
foreach sort-by [[?1 ?2] -> [[who] of ?1 > [who] of ?2]] aset [ ]

#loop-2
foreach sort-by [[?1 ?2] -> [ ?1 < ?2 ]] bset [  ]

如有任何建议,我将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-20 10:14:00

我想我现在想明白了。这些工作..。我需要摆脱“?”

代码语言:javascript
复制
#loop-1
foreach sort-by [[a b] -> [[who] of a > [who] of b]] aset [ ]

#loop-2
foreach sort-by [[x y] ->  x < y ] bset [  ]
票数 1
EN

Stack Overflow用户

发布于 2022-01-20 10:29:51

我不知道所有的上下文(循环的目的是什么?)我想,他们应该按照他们的who号对海龟进行分类。

你不必(但可以)摆脱'?‘。错误来自于在->之后将代码写在括号中。

如果有另一个上下文,foreach可能会有用,但据我所知,它可以被删除。

这样做是有效的:

代码语言:javascript
复制
to go
  crt 5
  let aset turtles with [who <= 3]
  let bset turtles with [who >= 3]
  ;loop-1
  show sort-by [[?1 ?2] -> ?1 > ?2] aset
  ;loop-2
  show sort-by [[?1 ?2] ->  ?1 < ?2 ] bset
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70784296

复制
相关文章

相似问题

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