我想对这些数字进行排序。
我在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]
我需要一种对这些值进行排序并知道哪些值的方法。
答案 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