是否有一个函数在Swift中为正数返回+1,为负数返回-1?
我查看了一个巨大的文件,如果你右键单击 - >典型函数的定义,但如果它在那里,我不知道它的名字.
我这样做了:
(num < 0 ? -1 : 1)
Run Code Online (Sandbox Code Playgroud)
但我宁愿使用内置函数,如果有的话 - 至少是出于自我记录的原因.
任何人都可以解释为什么以下两个部分之间存在性能差异?统计上显着的是,第二个定时器呼叫报告的数量小于第一个定时器呼叫的数量.我唯一的想法是Netlogo可以在内存中缓存海龟.这是预期的行为还是有错误?
to setup
clear-all
crt 100
let repetitions 10000
;;Timing assigning x to self
reset-timer
repeat repetitions
[
ask turtles
[
let x self
]
]
show timer
;;Timing assigning x to who of self
reset-timer
repeat repetitions
[
ask turtles
[
let x [who] of self
]
]
show timer
end
Run Code Online (Sandbox Code Playgroud) 在许多其他编程语言中,您可以将一个函数作为参数传递给另一个函数并从该函数内调用它。
无论如何,在 Netlogo 中可以做到这一点吗?
比如下面这样:
;; x,y,z are all ints
to-report f [x y z]
report x + y + z
end
;; some-function is a function
;; x y and z are ints
to-report g [some-function x y z]
report (some-function x y z) + 2
end
to go
show g f 1 2 3
end
Run Code Online (Sandbox Code Playgroud)
这将是一个很好的功能。我正在尝试实现一个抽象的本地搜索算法,这对于传递目标函数等非常有用。
我有一个我想要代理执行的5个程序,但我需要它们随机化它们执行它们的顺序.
例如:
1)可能的订购
ask turtles [ move eat breed search spawn]
Run Code Online (Sandbox Code Playgroud)
2)另一种可能的排序
ask turtles [spawn eat move search breed]
Run Code Online (Sandbox Code Playgroud)
3)另一种可能的排序:
ask turtles [search breed eat move spawn]
Run Code Online (Sandbox Code Playgroud)
等等.是否存在以随机顺序执行过程的有效方法?