在 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 中完成此操作。感谢帮助! :)
如果你只有 true
或 false
值,你可能会逃避这样的事情:
to boolean-to-numeric
let bool [ true false true ]
let bool2 map [ i -> ifelse-value ( i = true ) [ 1 ] [ 0 ] ] bool
print bool2
end
但请注意,以上将报告 0
除 true
以外的任何值,而不仅仅是 false
.
我正在使用以下代码创建一个布尔值列表,表示一组补丁,其中 "obstacle" 是补丁的布尔值 属性,说明它是否是障碍"map-area" 是特定补丁的列表。
set cell-walls map [ p -> [ obstacle ] of p] map-area
然后我将单元格墙打印到一个文本文件中,它会打印 [true true false true ...]。 我需要它来打印 [ 1 1 0 1 ... ]。
也许我可以替换列表中的元素,或者通过迭代这个列表并为每个元素添加 1 或 0 来创建一个新列表。我不确定如何在 Netlogo 中完成此操作。感谢帮助! :)
如果你只有 true
或 false
值,你可能会逃避这样的事情:
to boolean-to-numeric
let bool [ true false true ]
let bool2 map [ i -> ifelse-value ( i = true ) [ 1 ] [ 0 ] ] bool
print bool2
end
但请注意,以上将报告 0
除 true
以外的任何值,而不仅仅是 false
.