NetLogo新手......想知道是否有一个程序以紧凑的方式对列表中的一个项目执行操作(如地图但是对于一个项目)。
例如,假设我想将3
添加到列表i
中索引为blah
的项目中。
现在我这样做:
set blah replace-item i blah (item i blah + 3)
看起来有点笨拙,就像有一个程序可以做到这一点,但我找不到一个。只是想确保我没有错过任何东西。
谢谢! 泰勒
答案 0 :(得分:1)
没有内置的东西可以做到这一点。但您可以将自己定义为将任务作为输入的过程:
;; replace item i of xs with the result of applying fn to that item
to-report mapping-replace-item [i xs fn]
report replace-item i xs (runresult fn item i xs)
end
样本用法:
observer> show mapping-replace-item 2 [10 20 30 40] task [? * ?]
observer: [10 20 900 40]