デフォルト引数に指定する式には他の引数の値を利用することができない

Scala実践プログラミングより写経

Scala実践プログラミングより写経

  • タグ:
  • タグはありません
scala> def log(msg:String, length:Int = msg.length) = "[%s] %s" format(length, msg)
<console>:5: error: not found: value msg
       def log(msg:String, length:Int = msg.length) = "[%s] %s" format(length, msg)
                                        ^

scala> def log(msg:String)(length:Int = msg.length) = "[%s] %s" format(length, msg)
log: (msg: String)(length: Int)String

scala> log("aaa bbb cccc")()
res18: String = [12] aaa bbb cccc