您的位置:首页 > 其它

scala 第一天作业

2016-01-14 00:00 405 查看
第一天:scala总结

函数

scala> def f1(a1: String, a2: Int = 10) = a1+a2
f1: (a1: String, a2: Int)String

scala> f1("he")
res1: String = he10


a2 是默认并且初始化的参数

def sum(a: Int*): Int = {
var result = 0
for (el  <- a)
result += el
result
}
数组:

scala> val buf = ArrayBuffer(10)
buf: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(10)

scala> buf += 10
res6: buf.type = ArrayBuffer(10, 10)

scala> buf += (1,2,3,4)
res8: buf.type = ArrayBuffer(10, 10, 1, 2, 3, 4)

scala> buf ++= Array(1,20,30,4)
res9: buf.type = ArrayBuffer(10, 10, 1, 2, 3, 4, 1, 20, 30, 4)
println(sum(1
to 20: _*)) 输出结果:210 其中_* 的作用提取 前面集合里的每一个元素

数组可以可以实现删除指定的元素

buf.trimStart(1) 删除数据以1开始的元素数据

buf.trimEnd(4) 删除数据以4结尾的元素数据

lazy:打开第一次的时候使用,比较耗时

移除数组中第一个是负数后的所有元素

val a  = Range(-4, 4)
var firstPre =  false
a.filter {
case x if  x < 0 && !firstPre => firstPre = !firstPre ; true
case x if  x < 0  && firstPre => false
case _ => true
}.foreach(println)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: