List NetLogo:对列表中的第一个元素求和
我有一个包含元素的列表,这些元素本身有两个条目: 清单1[[15,w1][20,w2][30,w3]…] 现在,在另一个函数中,我想在列表1中的每个列表中包含第一个元素的总和(即15+20+30…) 我试过的是List NetLogo:对列表中的第一个元素求和,list,netlogo,List,Netlogo,我有一个包含元素的列表,这些元素本身有两个条目: 清单1[[15,w1][20,w2][30,w3]…] 现在,在另一个函数中,我想在列表1中的每个列表中包含第一个元素的总和(即15+20+30…) 我试过的是 let weigh_dem (t_d_f * price_w) - (sum (foreach list1 [[a b] -> a] )) 但我收到了错误信息“预期的记者” 由于我是netlogo的新手,我很高兴能得到有关这方面的建议,如果之前有一篇关于这方面的帖子我没有看到,
let weigh_dem (t_d_f * price_w) - (sum (foreach list1 [[a b] -> a] ))
但我收到了错误信息“预期的记者”
由于我是netlogo的新手,我很高兴能得到有关这方面的建议,如果之前有一篇关于这方面的帖子我没有看到,我也很高兴得到一个提示!谢谢!你要找的不是foreach
。它的工作原理与foreach
非常相似,只是它会在列表中返回结果(而foreach
只对列表中的每个项目执行命令)。此外,在list1
上使用foreach
或map
时,匿名过程的参数将是一个包含两个项目的列表。因此,您需要使用first
来取出第一个项目:
let weigh_dem t_d_f * price_w - sum map [ pair -> first pair ] list1
没问题!一定要把答案标记正确,以便其他人知道这个问题已经回答了。