Scala动态生成case class序列时如何引入变量自定义字段赋值
Scala动态生成case class序列的实现方法
你完全不需要重构代码使用标准循环,你写的伪代码逻辑已经接近正确,只需要做两处小修改即可直接运行:
Seq.fill的第二个参数如果是多行表达式,用花括号包裹形成代码块即可,Scala中花括号代码块的返回值就是最后一行的执行结果- 注意Scala中声明伴生对象的关键字
object首字母是小写,你示例里的大写Object属于语法错误
修正后的可运行代码如下:
case class Example(first_name: String, last_name: String) object Example { def createRecords(number: Int) : Seq[Example] = { Seq.fill(number) { val first_name = generateRandomFirstName() val last_name = generateRandomLastName() Example(first_name, last_name) } } }
如果你不需要复用中间存储的姓名字段变量,也可以直接简化写法:
def createRecords(number: Int) : Seq[Example] = Seq.fill(number)(Example(generateRandomFirstName(), generateRandomLastName()))
内容的提问来源于stack exchange,提问作者Meyer Cohen
相关产品推荐
相关产品推荐

