You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Ruby中如何生成介于最小值到指定最大变量之间的随机数

你写的代码问题出在max_num.to_i这行没有把转换后的整数赋值回变量,gets方法获取到的用户输入默认是字符串类型,不做赋值的话max_num还是字符串,直接传入范围作为边界肯定会报错。

修正后的写法如下:

print "Enter a number: "
max_num = gets.to_i # 读取用户输入后直接转成整数赋值给max_num

random_num = rand(0..max_num)

补充说明:

  • 要是你需要生成的随机数不包含max_num这个上限值,把范围换成三个点的写法0...max_num即可,效果和rand(0..max_num - 1)完全一致。
  • 如果你的随机数固定从0开始,还可以进一步简化写法,直接把上限值+1传入rand就行:random_num = rand(max_num + 1),得到的结果和rand(0..max_num)没有区别。

内容的提问来源于stack exchange,提问作者Sohaila Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 01:15:05