我正在执行以下操作
var total_count=1
if (total_count>=1)
{
var next_exec_no="2"
} else
{
var next_exec_no="1"
}
print(next_exec_no)
但是,在if循环外调用print(next_exec_no)时出现问题 有错误
错误:未找到:值next_exec_no 打印(next_exec_no)
有什么想法吗?
答案 0 :(得分:0)
next_exec_no 超出范围,在这种情况下,此变量仅在两个if分支内可见。基本上,您正在定义两个新变量
P.S。我建议您以功能性方式使用Scala,因此您不应使用 var ,而应使用 val
解决方案
可变方法:
var total_count=1
var next_exec_no=""
if (total_count>=1)
{
next_exec_no="2"
} else {
next_exec_no="1"
}
print(next_exec_no)
不可变FP方法:
val next_exec_no = if(total_count >= 1) "2" else "1"
print(next_exec_no)