Scala-将值作为参数传递给函数

时间:2016-11-15 05:32:56

标签: scala

我是scala的初学者,我创建了两个函数。我需要将 time 函数的输出传递给延迟函数的输入。我需要传递b值5将延迟功能作为参数。

object Demo {

   def main(args: Array[String]) {

        delayed(time());


   }

   def time() = {

      println("Getting time in nano seconds")

      val b=5

      return b

   }

   def delayed( b: => Long ) = {

      println("In delayed method")

      val a=b+10000

      println("Param: " + a)

   }

}

1 个答案:

答案 0 :(得分:1)

我相信你的目标:

object Demo {

   def main(args: Array[String]) {
        delayed(time());
   }

   def time(): Long = {
      println("Getting time in nano seconds")
      5L
   }

   def delayed(b: Long): Unit = {
      println("In delayed method")
      val a = b + 10000
      println(s"Param: $a")
   }
}

注意如何使用冒号(:)声明类型,使用字符串插值(s"")以及如何不需要返回语句(块中执行的最后一行是返回)。