简化代码-x的倍数(NetLogo
我现在有一个我想简化的代码。基本上,我希望每次自定义值等于x的倍数时都会发生一个过程。到目前为止,我所做的方法是为每一个倍数编写一行单独的代码,最多35行,但我希望它远高于35行,到目前为止,这种方法是混乱的、耗时的,而且需要花费大量时间我需要一些代码来解释一个范围内的任何整数(我想!) 目前我有这个(为了不填满线程,我只向您展示了前5行,但我现在最多35行):简化代码-x的倍数(NetLogo,netlogo,Netlogo,我现在有一个我想简化的代码。基本上,我希望每次自定义值等于x的倍数时都会发生一个过程。到目前为止,我所做的方法是为每一个倍数编写一行单独的代码,最多35行,但我希望它远高于35行,到目前为止,这种方法是混乱的、耗时的,而且需要花费大量时间我需要一些代码来解释一个范围内的任何整数(我想!) 目前我有这个(为了不填满线程,我只向您展示了前5行,但我现在最多35行): 飞行 问苍蝇 [如果(年龄>=((苍蝇寿命预期/苍蝇寿命后代)*1)-0.5)和(年龄=((苍蝇寿命预期/苍蝇寿命后代)*2)-0.5
飞行
问苍蝇
[如果(年龄>=((苍蝇寿命预期/苍蝇寿命后代)*1)-0.5)和(年龄<((苍蝇寿命预期/苍蝇寿命后代)*1)+0.5))[孵化1[设定年龄0]]
问苍蝇
[如果(年龄>=((苍蝇寿命预期/苍蝇寿命后代)*2)-0.5)和(年龄<((苍蝇寿命预期/苍蝇寿命后代)*2)+0.5))[孵化1[设定年龄0]]
问苍蝇
[如果(年龄>=((苍蝇寿命预期/苍蝇寿命后代)*3)-0.5)和(年龄<((苍蝇寿命预期/苍蝇寿命后代)*3)+0.5))[孵化1[设定年龄0]]
问苍蝇
[如果(年龄>=((苍蝇寿命预期/苍蝇寿命后代)*4)-0.5)和(年龄<((苍蝇寿命预期/苍蝇寿命后代)*4)+0.5))[孵化1[设定年龄0]]
问苍蝇
[如果(年龄>=((苍蝇寿命预期/苍蝇寿命后代)*5)-0.5)和(年龄<((苍蝇寿命预期/苍蝇寿命后代)*5)+0.5))[孵化1[设定年龄0]]
结束
您正在查找mod
原语:
to fly-emergence
ask flies [
if (round age) mod (fly-life-expectancy / fly-life-progeny) = 0
[ hatch 1 [ set age 0 ] ]
]
end
我不确定我是否完全匹配了您的代码……但基本思想是,使用
mod
使某些内容具有周期性,并使用round
避免检查的“-0.5到0.5”部分。您正在寻找mod
原语:
to fly-emergence
ask flies [
if (round age) mod (fly-life-expectancy / fly-life-progeny) = 0
[ hatch 1 [ set age 0 ] ]
]
end
我不确定我是否完全匹配了你的代码……但基本的想法是,使用
mod
使某个东西周期化,并使用round
避免支票中的“-0.5到0.5”部分。抱歉,我仍然不理解“mod”函数。不过感谢舍入函数。我只需要一些东西来充当任意整数或整数的任意倍数。如果a mod b=0
那么a是b的精确倍数。抱歉,我仍然不理解“mod”函数。不过感谢舍入函数。我只需要一些东西作为任意整数或整数的任意倍数。如果a mod b=0
则a是b的精确倍数。