io.open();//打开控制台
最小数 = 1;
最大数 = 1000
随机数 = math.random(最小数,最大数) //生成随机数
io.print( 随机数 )随机选择字符串 = string.random("字符串一","字符串二","字符串三")
io.print( 随机选择字符串 )
长度 = 3
随机中文字符串 = string.random( 长度, "这是中文字符集" )
io.print( 随机中文字符串 )随机英文数字字符串 = string.random(长度)
io.print( 随机英文数字字符串 )
二、随机数种子
你运行上面的示例代码,会发现每次的随机数结果都一样。
math库提供了一个可以改变随机数队列的函数。math.randomize()
math.randomize的参数可以是一个任意的数值,如果不指定参数默认调用time.tick获得系统启动的毫秒数作为参数。以保证随机数种子不会重复。这样每次就会返回不同的数字了
但是通常math.randomize()在一个AAuto程序中仅需调用一次就够了,一般不需要反复的调用。
你可以将 math.randomize() 放到preload库里面,因为preload在你的程序执行以前默认加载。
io.open();//打开控制台math.randomize()
随机数 = math.random(1,100) //生成随机数
io.print( 随机数 )随机选择字符串 = string.random("字符串一","字符串二","字符串三")
io.print( 随机选择字符串 )
长度 = 3
随机中文字符串 = string.random( 长度, "这是中文字符集" )
io.print( 随机中文字符串 )随机英文数字字符串 = string.random(长度)
io.print( 随机英文数字字符串 )
上面是加上math.randomize() 以后的代码。下图是运行后的效果。
原文地址:http://www.ecranesoft.com/bbs/showtopic-8350.aspx
练习:
io.open()
math.randomize()
z=string.random("may","tracy","fore")
h=math.random(1,1000)
s=z++h
io.print(s)