将列表中的元素作为参数传递给NetLogo中的to report函数
我试图将一个列表作为一组参数传递给to report函数。下面是一个简单的例子将列表中的元素作为参数传递给NetLogo中的to report函数,netlogo,Netlogo,我试图将一个列表作为一组参数传递给to report函数。下面是一个简单的例子 Globals [a list_of_list] to setup ca set list_of_list (list (list 1 2) (list 3 4)) end to go set a function list_of_list end to-report function [arg1] report (map add arg1) end to-report add [arg1 ar
Globals
[a
list_of_list]
to setup
ca
set list_of_list (list (list 1 2) (list 3 4))
end
to go
set a function list_of_list
end
to-report function [arg1]
report (map add arg1)
end
to-report add [arg1 arg2]
report arg1 + arg2
end
然而,我得到以下错误
任务需要2个输入,但只得到1个
观察者运行映射时出错
由过程F调用
由过程设置调用
由指挥中心呼叫
在将列表中的元素作为函数参数传递之后,我希望得到的答案是[37]
我正在处理的真正任务是更复杂的嵌套列表,但这段代码给出了我尝试做什么的想法。我应该考虑使用矩阵扩展来更容易地处理嵌套列表吗?< /P> < P>将您的<代码> Addio//Cuff>函数更改为
to-report add [lst]
report reduce + lst
end
将
添加功能更改为
to-report add [lst]
report reduce + lst
end
替换
map add arg1
与
如果您需要更通用的解决方案,请参阅位于的Bryan Head的列表化任务过程。替换
map add arg1
与
如果您需要更通用的解决方案,请参阅Bryan Head的列出任务
过程。我提供的代码只是我正在处理的任务的一个简化示例。因此,我实际上没有使用add函数。我试图传递列表元素的函数实际上比这里的add
函数复杂得多。我提供的代码只是我正在处理的任务的一个简化示例。因此,我实际上没有使用add函数。我试图传递列表元素的函数实际上比这里的add
函数复杂得多。