首页 > 解决方案 > 如何在scala中启动为班级成员?

问题描述

我有一个生成随机数的随机数类。但是我希望它作为类成员启动,这样我们就不需要在每次调用中重新生成。下面是目前的代码。

import ml.combust.mleap.core.Model
import ml.combust.mleap.core.types._

case class RandomNumberModel() extends Model{

  def apply(input: String):  Double  = {
    val rnd = scala.util.Random
    return rnd.nextFloat
  }

  override def inputSchema: StructType = StructType("input" -> ScalarType.String).get

  override def outputSchema: StructType = StructType("output" -> ScalarType.Double ).get

}

我是 scala 的新手,需要建议我必须在这里做些什么改变?

标签: scalamleap

解决方案


尝试

case class RandomNumberModel() extends Model {
  private val rnd = scala.util.Random

  def apply(input: String): Double = rnd.nextFloat

  override def inputSchema: StructType = StructType("input" -> ScalarType.String).get

  override def outputSchema: StructType = StructType("output" -> ScalarType.Double ).get

}

推荐阅读