随机数、随机字符串

随机字符串

str = string.random( len [, seed] )

返回长度为len的随机字符串,seed为可选参数指定供随机选择字符的字符串(默认值为英文字母、数字)。
seed参数可以使用中英文字符。

io.open()
io.print( string.random(10 ) )
io.print( string.random(10 ,"seed参数可以使用中英文字符。") )


str = string.random( str [, str2[, ...]] )

参数为多个字符串,随机选择其中一个字符串并作为返回值。

io.open()
io.print( string.random( "待选字符串","待选字符串2","待选字符串3") );

随机数

n = math.random(min,max)

指定最小随机数min,最大随机数max,返回[5,99]之间的随机数,如果不指定参数返回(0,1)之间的小数。

随机数发生器

我们先看一个创建随机数、随机字符串的示例:

import console; 

最小数 = 1;
最大数 = 1000
随机数 = math.random(最小数,最大数) //生成随机数
console.log( 随机数 ) 

随机选择字符串 = string.random("字符串一","字符串二","字符串三")
console.log( 随机选择字符串 )

长度 = 3
随机中文字符串 = string.random( 长度, "这是中文字符集" )
console.log( 随机中文字符串 )

随机英文数字字符串 = string.random(长度)
console.log( 随机英文数字字符串 ) 
console.pause();
    

如果在早期 aardio 版本运行上面的代码你会发现每次的随机数都一样, 先不要运行上面的代码, 请继续往下看。

math 库提供了一个可以改变随机数队列的函数。math.randomize(随机数发生器种子)
math.randomize 的参数可以是一个任意的数值,省略参数时,默认调用 time.tick 获得系统启动的毫秒数作为参数。

math.randomize 在一个 aardio 程序中仅需调用一次就够了,一般不需要反复的调用。

import console; 
math.randomize()
          
最小数 = 1;
最大数 = 1000
随机数 = math.random(最小数,最大数) //生成随机数
console.log( 随机数 ) 

随机选择字符串 = string.random("字符串一","字符串二","字符串三")
console.log( 随机选择字符串 )

长度 = 3
随机中文字符串 = string.random( 长度, "这是中文字符集" )
console.log( 随机中文字符串 )

随机英文数字字符串 = string.random(长度)
console.log( 随机英文数字字符串 ) 
console.pause();
上面是加上 math.randomize 以后的代码 ,每次运行将会返回不同的随机数。现在的 aardio 在启动时已经自动调用了 math.randomize() 函数, 所以我们不再调用这个函数,也不会再出现前述的问题。