scala自身是没有continue,break这两个语法关键词的。

但是实际上我们还是很希望有这两个语法,那么我们是否可以自己实现呢?

  • 从官网上搜索,我们可以找到一下关于break的类相关资料:

Breaks extends AnyRef

A class that can be instantiated for the break control abstraction. Example usage:

val mybreaks = new Breaks
import mybreaks.{break, breakable} breakable {
for (...) {
if (...) break()
}
}

Calls to break from one instantiation of Breaks will never target breakable objects of some other instantiation.

  • continue测试:
import util.control.Breaks._

/**
* Created by Administrator on 2016/11/15.
*/
object MyMain {
def main(args: Array[String]): Unit = {
println("Hello World") for (index <- 1 to 10) {
breakable {
if (index == 6) {
println("the index is :"+index)
break()
}
else {
println("hello" + index)
}
}
}
}
}

输出结果
Hello World
hello1
hello2
hello3
hello4
hello5
the index is :6
hello7
hello8
hello9
hello10

Process finished with exit code 0

  • break测试:
import util.control.Breaks._

/**
* Created by Administrator on 2016/11/15.
*/
object MyMain {
def main(args: Array[String]): Unit = {
println("Hello World")
breakable {
for (index <- 1 to 10) {
if (index == 6) {
println("the index is :" + index)
break()
}
else {
println("hello" + index)
}
}
}
}
}

或者

import util.control.Breaks._

/**
* Created by Administrator on 2016/11/15.
*/
object MyMain {
def main(args: Array[String]): Unit = {
println("Hello World")
for (index <- 1 to 10) {
if (index == 6) {
println("the index is :" + index)
break
}
else {
println("hello" + index)
}
}
}
}

输出结果

Hello World
hello1
hello2
hello3
hello4
hello5
the index is :6

参考资料:scala break & continue http://www.cnblogs.com/rollenholt/p/4119105.html

Scala:没有continue,break怎么办?的更多相关文章

  1. Scala 封装可break和continue的foreach循环

    发现scala里没有break和continue, 有时候实在是需要的话就要自己try catch异常,代码看起来有点蛋疼, 所以封装了一个可break和continue的foreach. impor ...

  2. js补充小知识点(continue,break,ruturn)

    1.continue,break,ruturn eg:1-100的和 $(function () { $("#hello").click(function () { var iNu ...

  3. dead loop、continue & break、while...else语句

    Dead loop 死循环,一经触发就会永远运行下去. continue & break 如果在循环过程中,因为某些原因,你不想继续循环了,就要用到break 或 continue语句. br ...

  4. java continue break 关键字 详解 区别 用法 标记 标签 使用 示例 联系

    本文关键词: java continue break 关键字 详解 区别  用法 标记  标签 使用 示例 联系   跳出循环 带标签的continue和break 嵌套循环  深入continue ...

  5. day10 while else continue break

    a. while else b. continue   break                   continue ,终止当前循环,开始下一次循环                   break ...

  6. 4.4 Go goto continue break

    4.4 Go goto continue break Go语言的goto语句可以无条件的跳转到指定的代码行执行. goto语句一般与条件语句结合,实现条件转义,跳出循环体等. Go程序不推荐使用got ...

  7. Scala中实现break与continue

    Scala是函数式编程语言,因此没有直接的break与continue关键字,要实现break与continue效果,需要绕一下. 需要导入包: import util.control.Breaks. ...

  8. continue break 区别

    在循环中有两种循环方式 continue , break continue 只是跳出本次循环, 不在继续往下走, 还是开始下一次循环 break  将会跳出整个循环, 此循环将会被终止 count = ...

  9. js 之 continue break return 用法及注意事项

    1,continue continue有两种用法: 1,continue; 这种用法必须包含在循环里,否则报错,例子: for(var i=0;i<10;i++){ if(i%2===0){ c ...

  10. Java goto,continue,break,标签

    goto:在Java中goto仍是保留字,但并未在语言中使用它:Java没有goto. 保留字的定义:       保留字(reserved word),指在高级语言中已经定义过的字,使用者不能再将这 ...

随机推荐

  1. haohantech浩瀚盘点机“PDA无线订货开单”终端 移动现场下单APP(打印扫描一体)

    手持PDA盘点机,订货的时候,用PDA上自带的激光扫描头扫描(或手输)样品的条码,然后,只需输入该款产品不同尺码的数量即可自动(或手动)发送订货数据到总部服务器.盘点机“PDA无线订货”终端功能: 1 ...

  2. 11 JSP/EL表达式/EL函数

    JSP      * 概述: JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的不同的是先由服务器编译部署成Servlet执行      * JSP的运行原 ...

  3. Bugtags 测试平台(支持ios、android)

    官网:https://bugtags.com/ 注意:小米手机 授权 打开漂浮窗 App 集成 Bugtags SDK 后,测试人员就可直接在 App 里所见即所得的提交 Bug; SDK 会自动截屏 ...

  4. Android -- 使用图库文件并可以裁剪文件(ImageView)

    1. 本例子首先教大家如何打开图库 ,然后在使用裁剪功能,来裁剪图库里面的图片并进行显示工作

  5. 基础DOS命令

    DOS命令: 1. 切换盘符:d: 2. 查看文件目录清单:       dir dir/s 查看所有目录及子目录下的所有内容 dir/p 分屏显示 dir/s/p 分屏显示所有内容 提前结束:ctr ...

  6. ZeroMQ接口函数之 :zmq_connect - 由一个socket创建一个对外连接

    ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_connect zmq_connect(3)  ØMQ Manual - ØMQ/3.2.5 Name zmq_c ...

  7. c++ 能够记录状态的vector

    这个想法来自于数组链表,在数组链表中,数组的每一个元素对应一个指针,这个指针是下一个元素的index.用整数表示指针. 这是这个vector的源码: #include <iostream> ...

  8. 局域网内利用gitlab,jenkins自动生成gitbook并发布(nginx)

    安装了GitBook,内网使用,没法用上gitbook的网页. 用gitbook serve只能展示一本书,而且也不利于长期维护. 于是使用gitlab,jenkins,和nginx配合gitbook ...

  9. android——从零开始

     一.JDK(不用安装)1.下载适合的jdk2.配置环境变量 添加一系统边=变量       JAVA_HOME=D:\Java\jdk1.8.0_91      CLASSPATH=.;%JAVA_ ...

  10. 《实时控制软件设计》第一周作业 欧梓峰 U201317662 (更新)

    CNC 插补计算程序分析 前言:插补(Interpolation),即机床数控系统依照一定方法确定刀具运动轨迹的过程.一般是已知起点坐标.终点坐标和轨迹,由数控插补计算程序实时的算出各个中间的坐标来拟 ...