scala如何ruturn程序
在java中,如果我需要将整个程序提前结束,可以使用return语句来实现,而在scala中如果想实现相同的功能,应该如何实现,难道函数式编程就不能实现整个功能么?Scala不建议使用return,Scala中将最后出现的变量作为return的值。如果强制使用return会使Scala性能严重下降。
推荐参考
Scala 不建议用 return的原因是什么?
http://www.aboutyun.com/forum.php?mod=viewthread&tid=19625
如果循环可以使用break。不过是在 Scala 2.8 版本后
语法
Scala 中 break 的语法有点不大一样,格式如下:
// 导入以下包
import scala.util.control._
// 创建 Breaks 对象
val loop = new Breaks;
// 在 breakable 中循环
loop.breakable{
// 循环
for(...){
....
// 循环中断
loop.break;
}
}
实例
import scala.util.control._
object Test {
def main(args: Array) {
var a = 0;
val numList = List(1,2,3,4,5,6,7,8,9,10);
val loop = new Breaks;
loop.breakable {
for( a <- numList){
println( "Value of a: " + a );
if( a == 4 ){
loop.break;
}
}
}
println( "After the loop" );
}
}
中断嵌套循环
以下实例演示了如何中断嵌套循环:
import scala.util.control._
object Test {
def main(args: Array) {
var a = 0;
var b = 0;
val numList1 = List(1,2,3,4,5);
val numList2 = List(11,12,13);
val outer = new Breaks;
val inner = new Breaks;
outer.breakable {
for( a <- numList1){
println( "Value of a: " + a );
inner.breakable {
for( b <- numList2){
println( "Value of b: " + b );
if( b == 12 ){
inner.break;
}
}
} // 内嵌循环中断
}
} // 外部循环中断
}
}
页:
[1]