【问题标题】:Why arc4random_uniform can be set as a constant?为什么 arc4random_uniform 可以设置为常量?
【发布时间】:2015-03-25 22:19:56
【问题描述】:

为什么arc4random_uniform可以设置为常数?我在多个示例中注意到了这一点。 arc4random_uniform 每次调用时都会生成一个新值,我认为常量的值永远不应该改变?它看起来更像一个变量。

【问题讨论】:

  • arc4random_uniform 是一个生成随机数的函数。为什么会保持不变?
  • “设置为常量”是什么意思? arc4random_uniform 是从库中导入的。它不是你自己定义的变量。

标签: swift random constants arc4random


【解决方案1】:

这令人困惑。

你可以让一个事物成为一个常数。在这种情况下,事物是一个函数。您正在设置对函数的常量引用。将 arc4random_uniform() 视为一个随机数工厂。它是恒定的。它坐在那里,等待创造随机数,就像汽车工厂一样,等待创造汽车。

当你调用随机数工厂时,它会给你一个新的随机数,但事物本身,即随机数工厂,保持不变。

编辑:

如果您有一个对函数的变量引用,那么您可以在该变量中存储不同的随机数工厂。每一种都可能具有不同的性能特征(速度、结果的真正随机性、结果范围等)

【讨论】:

  • 谢谢邓肯,这很令人困惑,但你带来了一些启示!
猜你喜欢
  • 1970-01-01
  • 2015-07-24
  • 1970-01-01
  • 2020-09-19
  • 1970-01-01
  • 2017-05-16
  • 1970-01-01
  • 1970-01-01
  • 2019-09-20
相关资源
最近更新 更多