Scala未找到:值错误

时间:2017-11-30 13:28:20

标签: scala

我正在尝试在scala shell中执行max函数但以某种方式获取错误

scala> def max(x: Int, y: Int): Int = {
           if (x > y) x
           else y
         }
  max: (x: Int, y: Int)Int

scala> a =max(10, 20)
<console>:14: error: not found: value a
.....

当我尝试下面的方法时,它会起作用,但我试图了解在这里指定var / val的好处/原因是什么?为什么默认情况下不能使用var?

var a=max(10,20)

Scala版本是2.11.11,我正在尝试学习scala,可能我缺少一些基本概念。

2 个答案:

答案 0 :(得分:2)

因为最佳做法是选择不可变的val而不是可变的var

https://alvinalexander.com/scala/best-practice-prefer-immutable-variables-values-in-scala

val a = max(10,20)
  

在scala中,所有变量都必须是var或val。语言设计   就这样。

答案 1 :(得分:0)

Scala变量必须是var或val,不能推断它。