Netlogo排序变量

时间:2019-01-15 17:02:32

标签: netlogo

我想对这些数字进行排序。
我在Ifs上进行了测试,但没有找到方法。

然后我进行了排序测试,但似乎我不接受变量。

let ginyo00 [xcor] of coche 0     
let ginyo01 [xcor] of coche 1
let ginyo02 [xcor] of coche 2
let ginyo03 [xcor] of coche 3
output-print ginyo00
output-print ginyo01
output-print ginyo02
output-print ginyo03
output-print "====="
set maxv max (list ginyo00 ginyo01 ginyo02 ginyo03)
show sort [ginyo00 ginyo01 ginyo02 ginyo03]

Error that shows

我需要一种对这些值进行排序并知道哪些值的方法。

1 个答案:

答案 0 :(得分:2)

the docs中的sort原语适用于列表或代理集。

因此,您可以使用max原语将变量转换为list的列表,从而将其与获取sort的变量一起使用:

show sort (list ginyo00 ginyo01 ginyo02 ginyo03)

您也可以在不使用中间变量的情况下获取以下信息:

let my-coches coches with [ who < 4 ]
ask my-coches [ output-print xcor ]
set maxv max ([ xcor ] of my-coches)
show sort ([ xcor ] of my-coches)

如果您真正想要的是按排序顺序排列的coches而不是按顺序排列的值,则可以改用sort-on

let sorted-coches sort-on [xcor] my-coches
show sorted-coches