RandBox 模块导览(1/12):basics - 基础数据类型
RandBox 的基础数据类型模块提供布尔、整数/自然数、浮点、字符/字符串、质数与模板等原子能力,是所有随机生成的核心。更多函数清单参见 /zh/docs/index 与 /zh/docs/basics/。
模块概览
- 核心职责:提供最常用的数值与文本随机化能力。
- 设计原则:统一 API、智能默认值、边界检查、可读的参数命名。
- 典型用途:测试造数、占位符填充、规则校验、组合生成复杂对象。
重点 API
bool、integer、natural、floatingletter/character、stringprime、falsy、template完整条目参见/zh/docs/basics/(如:/zh/docs/basics/integer、/zh/docs/basics/string)。
示例
import RandBox from 'randbox'
const rb = new RandBox()
// 整数与自然数
const id = rb.integer?.(1000, 9999)
const count = rb.natural?.()
// 浮点与精度
const price = rb.floating?.({ min: 0, max: 99, precision: 2 })
// 字符与字符串
const ch = rb.letter?.({ casing: 'lower' })
const token = rb.string?.({ length: 16 })
// 模板占位
const orderNo = rb.template?.('ORD-{{integer}}-{{string}}')
// 随机布尔与 falsy
const flag = rb.bool?.({ pTrue: 0.6 })
const maybeEmpty = rb.falsy?.()参数与边界
- 数值范围:
min <= max;整数/浮点需进行类型校验。 - 精度控制:
precision建议设为有限位数,避免浮点误差聚积。 - 字符池:为
string/character指定字符集时,确保不为空且可读。 - 模板键:
template的占位符应与基础 API 对齐(如{{integer}})。
文档与链接
- 中文索引:
/zh/docs/index - 模块索引:
/zh/docs/basics/ - 条目示例:
/zh/docs/basics/integer、/zh/docs/basics/string、/zh/docs/basics/floating
Q&A 常见问题(FAQ)
- 如何避免浮点误差?
- 使用
precision控制小数位,并在需要时进行四舍五入或字符串化存储。
- 使用
integer(min, max)会包含边界吗?- 一般包含最小值与最大值。若需排除某些值,使用
exclude(视实现支持)。
- 一般包含最小值与最大值。若需排除某些值,使用
- 随机字符串如何限定字符集?
- 通过
string({ charset })或character/letter指定,如alpha、alnum或自定义集合。
- 通过
- 模板生成支持哪些占位符?
- 典型占位符如
{{integer}}、{{string}}、{{letter}},可组合生成复杂文本。
- 典型占位符如
参考与出处(References)
- RandBox 中文文档索引:
/zh/docs/index - Basics 模块文档:
/zh/docs/basics/index.mdx - 相关 API 页:
/zh/docs/basics/integer、/zh/docs/basics/string、/zh/docs/basics/template
最后更新于: