在 Netlogo 中,布尔变量列表可以从 true/false 转换为 1/0 吗?

In Netlogo, can a list of boolean variables be converted from true/false to 1/0?

我正在使用以下代码创建一个布尔值列表,表示一组补丁,其中 "obstacle" 是补丁的布尔值 属性,说明它是否是障碍"map-area" 是特定补丁的列表。

set cell-walls map [ p -> [ obstacle ] of p] map-area

然后我将单元格墙打印到一个文本文件中,它会打印 [true true false true ...]。 我需要它来打印 [ 1 1 0 1 ... ]。

也许我可以替换列表中的元素,或者通过迭代这个列表并为每个元素添加 1 或 0 来创建一个新列表。我不确定如何在 Netlogo 中完成此操作。感谢帮助! :)

如果你只有 truefalse 值,你可能会逃避这样的事情:

to boolean-to-numeric
  let bool [ true false true ]
  let bool2 map [ i -> ifelse-value ( i = true ) [ 1 ] [ 0 ] ] bool 
  print bool2
end

但请注意,以上将报告 0true 以外的任何值,而不仅仅是 false.