scala - 如何在ScalaCheck中生成递增序列?
问题描述
我正在尝试使用 ScalaCheck 生成不断增加的数字序列。
我想实现这样的目标:
0 2 4 6
这是通过将范围 0..3 增加 2 来实现的:
0 * 2 = 0
1 * 2 = 2
2 * 2 = 4
3 * 2 = 6
感谢帮助。对不起,如果问题以前被质疑过。
解决方案
好吧,生成随机序列似乎并不难。抱歉,我需要更具体地了解可预测性。
object GenerateSequence {
def apply(maxSize: Int, maxStep: Int): Gen[Seq[Int]] = {
for {
size <- Gen.chooseNum(1, maxSize)
step <- Gen.chooseNum(1, maxStep)
} yield {
(0 to size).map(_ * step)
}
}
}
推荐阅读
- javascript - Blockly.Workspace 何时创建?
- java - 根据 RxJava 中的下一个元素将 Flowable 拆分为多个组
- java - 选择中的空值在 Records.mapping() 中产生 NullPointerException
- apache-kafka - Kafka:打开日志压缩时,带有空键的消息会发生什么?
- javascript - 在 node-express 应用程序中实现基于角色的访问控制
- python - Python Flask 执行器 | 如何将后台任务的结果传递到当前活动的 html 页面
- ruby-on-rails - 在 Rails 的 Turbo Frame 中查找当前 URL 或“主”控制器
- python - 使用新的或修改另一个行创建一个新的数据框
- laravel - 在laravel中返回redirect()->带有请求而不是参数的路由?
- sql-server - 将 100,000 行上传到 SQL Server 数据库