Lumesh Rand 模块

wiki libs

Lumesh rand 模块使用文档

模块名称rand
可通过help rand查看帮助。

功能描述:提供随机数生成、随机抽样和随机化操作


函数目录

函数组 函数名 调用格式 核心功能
布尔生成 ratio rand.ratio [numerator] [denominator] 按概率生成布尔值
字符串生成 alpha rand.alpha [length] 生成随机字母字符串
字符串生成 alphanum rand.alphanum [length] 生成随机字母数字字符串
数值生成 int rand.int [min] [max] 生成随机整数
抽样操作 choose rand.choose [list] 从列表中随机抽取元素
列表操作 shuffle rand.shuffle [list] 随机打乱列表顺序

函数详解

1. rand.ratio - 概率布尔生成

参数说明

参数模式 参数类型 作用描述
无参数 - 默认返回50%概率的true
单参数 Float 指定true的概率(0.0~1.0)
双参数 Integer, Integer 分子/分母形式指定概率(如3 5表示3/5概率)

返回值Boolean
示例

# 基础调用
rand.ratio # => true (50%概率)
rand.ratio 0.3 # => false (70%概率)

# 分数形式
rand.ratio 1 4 # => true (25%概率)

2. rand.alpha - 随机字母字符串

参数说明

参数模式 参数类型 作用描述
无参数 - 返回单个随机字母
单参数 Integer 指定生成字符串长度

返回值String
示例

rand.alpha       # => "k"
rand.alpha 5 # => "qjZRy"

3. rand.alphanum - 随机字母数字字符串

参数说明

参数模式 参数类型 作用描述
无参数 - 返回单个随机字母或数字
单参数 Integer 指定生成字符串长度

返回值String
示例

rand.alphanum        # => "7"
rand.alphanum 8 # => "F3g9K2wQ"

4. rand.int - 随机整数生成

参数说明

参数模式 参数类型 作用描述
无参数 - 返回整个i64范围的随机整数
单参数 Integer 返回[0, max]区间整数(支持负数)
双参数 Integer, Integer 返回[min, max]区间整数

返回值Integer
示例

rand.int             # => -327683491 (示例)
rand.int 100 # => 57
rand.int -50 50 # => -12

5. rand.choose - 列表随机抽样

参数说明

参数 类型 作用描述
1 List 待抽样的数据列表

返回值:列表中的任意元素(空列表返回None
示例

rand.choose [1 2 3]          # => 2
rand.choose ["A" "B" "C"] # => "B"

6. rand.shuffle - 列表随机化

参数说明

参数 类型 作用描述
1 List 待随机化的数据列表

返回值:元素顺序随机化的新列表
示例

ori=list.from(0..12)
rand.shuffle ori # => [3, 8, 7, 11 ...]

输出结果

┌───┬───┬───┬────┬───┬───┬───┬───┬───┬────┬───┬───┐
│ 3 │ 8 │ 7 │ 11 │ 9 │ 2 │ 5 │ 0 │ 6 │ 10 │ 4 │ 1 │
└───┴───┴───┴────┴───┴───┴───┴───┴───┴────┴───┴───┘

使用场景示例

批量生成测试数据

# 生成10个随机用户名
fn gen_user() {
name = (list.join "-" [rand.alpha(3),rand.int(1000,9999)])
age = (rand.int 18 60)
return [name, age]
}

repeat 10 { gen_user | print }

输出示例

+-------------------------+
| USERNAME AGE |
+=========================+
| xQz-4823 34 |
| kFt-7391 22 |
| ... ... |
+-------------------------+