Netlogo Rnd扩展:通过输入框加载概率权重

Netlogo Rnd扩展:通过输入框加载概率权重,netlogo,Netlogo,我想从列表中报告一个随机项目: set probability-list [["residential" 0.60] ["commercial" 0.30] ["industrial" 0.10]] 他们被称为: set land-use first rnd:weighted-one-of-list probability-list last 但我希望用户通过模型界面中的输入框输入每个项目的重量,而不是代码本身。为此,我为每个项目添加了一个名为Res、Com和Ind的输入框。因此列表的代码现

我想从列表中报告一个随机项目:

set probability-list [["residential" 0.60] ["commercial" 0.30] ["industrial" 0.10]]
他们被称为:

set land-use first rnd:weighted-one-of-list probability-list last
但我希望用户通过模型界面中的输入框输入每个项目的重量,而不是代码本身。为此,我为每个项目添加了一个名为Res、Com和Ind的输入框。因此列表的代码现在是:

set probability-list [["residential" Res] ["commercial" Com] ["industrial" Ind]]

但Netlogo会突出显示带有权重名称的代码,并显示消息“预期为文字值”。这可以解决吗?

当您在NetLogo中创建一个文本列表时,您只能将您键入的其他文本项(字符串、数字、布尔值)放入该列表中的代码中

要使用变量创建“动态”列表,必须使用带括号的
list
原语:

set probability-list (list (list "residential" Res) (list "commercial" Com) (list "industrial" Ind))

这在中进行了概述。

当您在NetLogo中创建一个文本列表时,您只能将您键入的其他文本项(字符串、数字、布尔值)放入该列表中的代码中

要使用变量创建“动态”列表,必须使用带括号的
list
原语:

set probability-list (list (list "residential" Res) (list "commercial" Com) (list "industrial" Ind))
这一点在中有概述