首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

scala学习(2) 内建控制结构

2012-08-31 
scala学习(二) 内建控制结构for使用常用val filesHere (new java.io.File(/.)).listFilesfor(file -

scala学习(二) 内建控制结构

for使用

常用

val filesHere = (new java.io.File(/".")).listFiles

for(file <- filesHere)

println(file)

?

过滤

val filesHere = (new java.io.File(/".")).listFiles

for(file <- filesHere?if file.getNmae.endWith(".scala")?) ?//有2个if的话 要用;分割

println(file)

?

嵌套枚举

def fileLInes(file:java.io.File) = scala.io.Source.fromFile(file).getLines.toList

def grep(pattern:String) =

for(

file <- fileHeres

? ? ? ? if file.getNmae.endWith(".scala")

? ? ? ? line <-fileLines(file)

if line.trim.matches(pattern

)println(file + ": " + line.trim)

grep(.*gcd.*)

?

?

?

制造新集合

def scalaFiles =

?for{

file <- fileHeres

if file.getNmae.endWith(".scala")

}yield file

?

异常处理

try{

val f = new FileReader("input.txt")

? ? ? ? //使用并关闭文件

}catch{

? ? ? ? ?case ex:FileNotFoundException => //处理丢失的文件

???case ex:IOException=> //处理其他的I/O错误

?

}finally{

?

f.close() //确保关闭文件

}

scala与java的区别是不需要捕获检查异常

?

?

}

?

匹配表达式

scala 的match类似java的switch

val firstArg = if (args.length>0) args(0) else ""

firstArg match{

case "salt" => println("pepper")

case "chips"=> println("salsa")

? ? ? ? case _ println("huh?")

?

}

_表示默认情况下

?

?

scala不在使用break和continue

?

?

?

?

?

?

?

热点排行