查看: 5771|回复: 18

[已经过期] va中用不了rand(limit)?

[复制链接]
梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2018-1-29 15:49:59 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
ruby版本的确是1.9.2
但是http://ruby-doc.org/core-1.9.2/Random.html
这里面的rand(5..9)我使用会提示

TypeError
can't convert Range into Integer

  1. a=rand(5..9)
  2. p a
复制代码

这种也不行
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
梦石
1
星屑
14374
在线时间
2109 小时
注册时间
2017-9-28
回帖
607
发表于 2018-1-29 15:59:43 | 显示全部楼层
可以啊,类似 rand(30)
VA外站脚本汉化群:226308173   |    部分远古文件备份:https://wwzv.lanzoue.com/b02rac5pc  密码:acgm
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

 楼主| 发表于 2018-1-29 16:03:18 | 显示全部楼层
Nil2018 发表于 2018-1-29 15:59
可以啊,类似 rand(30)

你试试看rand(5..9)这种可以吗

点评

rand(5..9)好像可以写成 5+rand(4)  发表于 2018-1-29 16:21
不行... 也是can't convert Range into Integer  发表于 2018-1-29 16:16
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
280
在线时间
78 小时
注册时间
2014-6-8
回帖
3
发表于 2018-1-29 17:38:51 | 显示全部楼层
提供一個可以達到類似效果的寫法,VA可用
  1. a = (5..9).to_a
  2. n = a.sample
  3. p n
复制代码
回复

使用道具 举报

梦石
0
星屑
14560
在线时间
22062 小时
注册时间
2010-10-24
回帖
302
发表于 2018-1-29 17:53:16 | 显示全部楼层
本帖最后由 imsy 于 2018-1-29 17:54 编辑
  1. module Kernel  # by 晴岚
  2.   alias oldrand rand unless defined?(oldrand)
  3.   def rand(thing = 0)
  4.     case thing
  5.     when Range
  6.       oldrand(thing.end - thing.begin + (thing.exclude_end? ? 0 : 1)) + thing.begin
  7.     else
  8.       oldrand(thing)
  9.     end
  10.   end
  11. end
复制代码

不记得是从哪里挖到的了
噫
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

 楼主| 发表于 2018-1-29 18:10:55 | 显示全部楼层
RedWK 发表于 2018-1-29 17:38
提供一個可以達到類似效果的寫法,VA可用

如果需要的结果是浮点数呢?

点评

5.1,5.2,5.3...手動輸入(不  发表于 2018-1-29 19:22
1楼地址里面还可以用rand(5.0..9.0)取5.0到9.0之间的浮点数···直接push一个情况就不一样了吧···  发表于 2018-1-29 18:56
那個方法是將範圍輸入到陣列裡,然後隨機抽取一個出來 簡單暴力的方法就是把浮點數也輸入進去 array.push()  发表于 2018-1-29 18:49
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45705
在线时间
7948 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2018-1-29 19:37:29 | 显示全部楼层
也不知道谁告诉你传入一个range的……
rand*5+4
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

 楼主| 发表于 2018-1-29 19:42:45 | 显示全部楼层
fux2 发表于 2018-1-29 19:37
也不知道谁告诉你传入一个range的……
rand*5+4

从1.9.2的random里面看到的,但是自己试的时候行不通···突然怀疑自己用的是假软件
http://ruby-doc.org/core-1.9.2/Random.html
  1. prng.rand(5..9)  #=> one of [5, 6, 7, 8, 9]
  2. prng.rand(5...9) #=> one of [5, 6, 7, 8]
  3. prng.rand(5.0..9.0) #=> between 5.0 and 9.0, including 9.0
  4. prng.rand(5.0...9.0) #=> between 5.0 and 9.0, excluding 9.0
复制代码
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45705
在线时间
7948 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2018-1-29 19:43:44 | 显示全部楼层
chd114 发表于 2018-1-29 19:42
从1.9.2的random里面看到的,但是自己试的时候行不通···突然怀疑自己用的是假软件
http://ruby-doc.or ...

人家示范也是新建了一个Random对象啊,你的呢?
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

 楼主| 发表于 2018-1-29 19:49:53 | 显示全部楼层
fux2 发表于 2018-1-29 19:43
人家示范也是新建了一个Random对象啊,你的呢?

···只能用Random的新对象能这样做吗···
我以为3个例子分开的...
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部