Scala 在 if 条件下赋值

标签 scala

val flag = false

if (val data = flag) {
  println(data)
}

是否可以在 if 语句中分配 flag 并在 Scala 中自动求值?

最佳答案

是的,但它不会超出范围,所以你不能在 if 的正文中使用它

if ({val data = true; data}) 
  println("data was true")

赋值不返回值,但您可以返回它。最好做类似的事情

def test(data: Boolean) {
  if (data) {/* data in scope */} 
  else      {/* data in scope */}}

关于Scala 在 if 条件下赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12832606/

相关文章:

scala - 如何使用 scala 和 scalatest 来查看列表中是否包含具有与特定值匹配的字段的对象

java - 终止 Future 并获得中间结果

java - 在java中将java映射转换为scala不可变映射

scala - 命名参数会导致维护问题和可读性差?

scala - 如何计算 Apache Spark 中 RowMatrix 的倒数?

java - Drools - 检查列表中是否存在/包含字符串<String>

scala - 如何列出 Spark Scala shell 中 HDFS 位置中的所有 csv 文件?

scala - 为什么 SBT 库依赖项 %% 会截断 scalaVersion?

Scala 案例类忽略 Spark shell 中的导入

scala - T 和 List[T] 的类型参数边界