在两个列表之间划分并将结果存储在列表中 NetLogo

Division between two lists and store the results in a list NetLogo

我有两个长度相同的列表。我想将它们一一划分。第一个列表中的第一个元素除以第二个列表中的第一个元素。并将结果存储在一个新列表中。 假设有两个名为 ab 的列表。新的结果列表是 c。 我现在有这样的东西:

foreach a b [[element-a element-b] -> element-a / element-b]

但是没用。我如何将结果存储在 c?

你需要的不是foreach,而是map

to demo
  let list-a [ 4 12 30 ]
  let list-b [ 2  3  5 ]  
  print (map [ [a b] -> a / b ] list-a list-b) ; long syntax
  print (map / list-a list-b) ; concise syntax
end

每当您想从一个或多个列表中创建一个新列表时,map 很可能是最佳解决方案。它是 NetLogo 中最有用的原语之一。

请注意,您需要在表达式两边加上括号,因为您要将多个列表传递给 map