一个随机整数函数
问题
你想要获得两个整数(包含在内)之间的一个随机整数。
解决方案
使用以下的函数。
randomInt = (lower, upper) ->
[lower, upper] = [0, lower] unless upper? # 用一个参数调用
[lower, upper] = [upper, lower] if lower > upper # Lower 必须小于 upper
Math.floor(Math.random() * (upper - lower + 1) + lower) # 最后一条语句是一个返回值
(randomInt(1) for i in [0...10])
# => [0,1,1,0,0,0,1,1,1,0]
(randomInt(1, 10) for i in [0...10])
# => [7,3,9,1,8,5,4,10,10,8]
请发表评论