`

Java 中 return 用 Scala 表达

阅读更多
Scala 中没有 break(2.8 中将会支持) 和 continue,的确是件纠结的事情啊~
更纠结的是,return 似乎也不能直接 work
比如 Java 里头可以这样写(虽然这样写并不好):
for(int i = 0; i < 10; i++){
            System.out.println("i = " + i);
            if(i == 1){
                System.out.println("return at i = 1");
                return;
            }else if( i == 2){
                System.out.println("return i = 2");
                return ;
            }
       }


但是 Scala 里头怎么办列,或许换种思考的方式会更好:
(0 until 10).find{ i => 
  println("i = " + i)
  i match {
  case 1 => println("return at i = 1"); true
  case 2 => println("return at i = 2"); true
  case _ => false
}}


对于 break 和 continue,
引用
These keywords are not included in Scala 2.7, and must be implemented in a different way. For break, the simplest thing to do is to divide your code into smaller methods and use the return to exit early. For continue, a simple approach is to place the skipped-over parts of a loop into an if.

Scala 2.8 will include break, but not continue.

分享到:
评论

相关推荐

    Design Of Scala中文

    例如,Scala消除了Java中静态方法和变量的概念,转而使用单例对象(object)来实现类似的功能,这使得代码更加一致且易于理解。 #### 三、Scala中的一切都是对象的实例 Scala中的一个重要设计理念就是“一切值都是...

    Effective Scala中文版

    - **Java集合**: 如何在Scala中使用Java集合。 #### 并发 - **Future**: 使用Scala的Future来处理异步操作。 - **集合**: Scala中集合的并发操作。 #### 控制结构 - **递归**: 推荐使用尾递归优化。 - **返回**: ...

    scala编程进阶

    除了传统的 `break` 关键字(在 Scala 中不适用),我们可以使用 `return` 从方法中退出,`throw` 一个异常来立即结束执行,或者使用 `breakable` 块来控制循环的中断。例如,`breakable { ... break }` 允许在块内...

    Scala Specs2 依赖包

    Scala Specs2是一个强大的测试框架,广泛用于Scala和Java应用程序的测试驱动开发(TDD)、行为驱动开发(BDD)和功能驱动开发(FDD)。它为开发者提供了丰富的断言库和简洁的API,使得编写测试代码更加直观和高效。...

    neo4j最全面指南以及springboot+java驱动不用编写复杂语句

    - **REST API**: 提供 REST API 接口,方便不同编程语言调用,如 Java、Spring、Scala 等。 - **UI MVC 框架**: 支持通过 Node.js 等 UI MVC 框架访问 Java 脚本。 - **Java API**: 提供两种 Java API —— Cypher ...

    kotlin_in_chinese

    例如,使用when表达式作为更加强大的switch-case结构的替代品,以及return和break表达式可以出现在lambda表达式中,允许从嵌套的循环和函数中跳出。 #### 可见性修饰词 Kotlin支持不同的可见性修饰词,比如public、...

    谷歌kotlin学习文档

    9. 互用性:Kotlin完全兼容Java代码,因此文档中也会介绍如何在Kotlin代码中使用Java代码,并且如何将Java代码用Kotlin重写。 10. 工具和构建系统:Kotlin支持多种构建工具,包括Maven、Ant、Griffon和Gradle等,...

    kotlin-reference-chinese

    - **包**:类似于Java中的package,Kotlin中的包用于组织和分类代码。 - **控制流**:Kotlin提供了丰富的控制流语句,如if语句、for循环、while循环等。 - **返回与跳转**:Kotlin支持多种返回和跳转语句,例如...

    使用阶乘算法递归

    本话题主要探讨的是在Java中如何使用递归实现阶乘算法。阶乘是一个数学概念,表示一个正整数n的所有小于等于n的正整数的乘积,通常表示为n!。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。 递归在Java中的实现通常涉及...

    Cypher查询语言

    Cypher 是一个申明式的语言,对比命令式语言如 Java 和脚本语言如 Gremlin 和 JRuby, Cypher 的焦点在于从图中如何找回(what to retrieve),而不是怎么去做。这使得在不对用户公布的实现细节里关心的是怎么优化...

    大数据技术之高频面试题(doc版).docx

    - **清晰表达**:确保语言逻辑清晰,表达流畅,并使用有序列号的方式阐述观点。 - **避免负面评价**:不要提及前雇主或个人的负面经历,转而强调个人的优点和专业技能。 - **突出个人优势**:通过实例展示个人的...

    函数

    在编程领域,函数是核心概念之一,...隐式转换和隐式参数是Scala中增强代码表达力的重要特性,但使用时需谨慎,以避免引入不必要的复杂性和难以理解的代码。理解并熟练运用这些函数特性对于提升Scala编程能力至关重要。

Global site tag (gtag.js) - Google Analytics