如何在Crystal中生成一个随机数?
How to generate a random number in Crystal?
在Crystal中如何生成随机数?
使用 Python,我可以简单地执行以下操作来生成 0 到 10 之间的随机整数:
from random import randint
nb = randint(0, 10)
解决方案 1 - 使用 Random
module
随机Integer
Random.new.rand(10) # >= 0 and < 10
Random.new.rand(10..20) # >= 10 and < 20
随机Float
Random.new.rand(1.5) # >= 0 and < 1.5
Random.new.rand(6.2..18.289) # >= 6.2 and < 18.289
解决方案 2 - 使用 top-level method rand
正如@Jonne 在评论中指出的,您可以直接使用调用 Random
模块的 top-level method rand
:
随机Integer
rand(10) # >= 0 and < 10
rand(10..20) # >= 10 and < 20
随机Float
rand(1.5) # >= 0 and < 1.5
rand(6.2..18.289) # >= 6.2 and < 18.289
更短的是rand
:
# ints
rand(10)
rand(10..20)
# floats
rand(1.5)
rand(6.2..18.289)
在Crystal中如何生成随机数?
使用 Python,我可以简单地执行以下操作来生成 0 到 10 之间的随机整数:
from random import randint
nb = randint(0, 10)
解决方案 1 - 使用 Random
module
随机Integer
Random.new.rand(10) # >= 0 and < 10
Random.new.rand(10..20) # >= 10 and < 20
随机Float
Random.new.rand(1.5) # >= 0 and < 1.5
Random.new.rand(6.2..18.289) # >= 6.2 and < 18.289
解决方案 2 - 使用 top-level method rand
正如@Jonne 在评论中指出的,您可以直接使用调用 Random
模块的 top-level method rand
:
随机Integer
rand(10) # >= 0 and < 10
rand(10..20) # >= 10 and < 20
随机Float
rand(1.5) # >= 0 and < 1.5
rand(6.2..18.289) # >= 6.2 and < 18.289
更短的是rand
:
# ints
rand(10)
rand(10..20)
# floats
rand(1.5)
rand(6.2..18.289)