我想检查一个变量是否已经在scala中定义/存在。让我们说一个叫做checkVar的函数做这个操作:
var x = 10
checkVar (x)→返回boolean True
checkVar (y)→返回boolean False
我问这个问题是因为我想创建一个机制来定义一个变量,如果它不存在。
变量仅在编译时存在,因此您不能在运行时动态创建或删除变量。因此,x
和y
必须在编译时定义,否则编译器将拒绝代码。
你能做的是使用Option
来指示变量是否有值:
def checkVar(v: Option[Int]) = v.nonEmpty
var x = Some(10)
checkVar(x) // True
val y = None
checkVar(y) // False
x = None
checkVar(x) // False