import scala.io.Source
object dt06_Lazy {
def main(args: Array[String]): Unit = {
// 懒加载用的时候才创建
lazy val file = Source.fromFile("/Users/ycf/Desktop/traslate_h.txt")
println("Scala")
// 知道这里使用才会 调用 Source.fromFile的功能检验 路径是否正确
for(line <- file.getLines()) println(line)
}
新建worksheet
import scala.io.Source
object ScalaAction {
println("Welcome to the Scala worksheet") //> Welcome to the Scala worksheet
// 懒加载
lazy val file = Source.fromFile("/Users/ycf/Desktop/traslate.txt")
//> file: => scala.io.BufferedSource
println("Scala") //> Scala
file //> res0: scala.io.BufferedSource = non-empty iterator
// 到用的时候 才拿出来
for(line <- file.getLines()) println(line) //> "welcome"="点击屏幕继续...";
//|
//| //首页
//| "tabBarHome"="首页";
//| "citySele
}
数组的操作
import scala.collection.mutable.ArrayBuffer
object dt07ArrayOps {
def main(args: Array[String]): Unit = {
val nums = new Array[Int](10) //> nums : Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
val a = new Array[String](10) //> a : Array[String] = Array(null, null, null, null, null, null, null, null, n
//| ull, null)
val s = Array("Hello", "world") //> s : Array[String] = Array(Hello, world)
s(0) = "Goodby"
s //> res0: Array[String] = Array(Goodby, world)
nums(0) = 10
val b = ArrayBuffer[Int](10) //> b : scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(10)
b += 1 //> res1: com.scala02.tuple.ScalaInAction.b.type = ArrayBuffer(10, 1)
b += (2, 3, 5) //> res2: com.scala02.tuple.ScalaInAction.b.type = ArrayBuffer(10, 1, 2, 3, 5)
b ++= Array(22, 11, 33) //> res3: com.scala02.tuple.ScalaInAction.b.type = ArrayBuffer(10, 1, 2, 3, 5, 2
//| 2, 11, 33)
b.trimEnd(5)
b.insert(2, 6)
b.insert(2, 7, 8, 9)
b.remove(2) //> res4: Int = 7
b //> res5: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(10, 1, 8, 9, 6
//| , 2)
val c = b.toArray //> c : Array[Int] = Array(10, 1, 8, 9, 6, 2)
c //> res6: Array[Int] = Array(10, 1, 8, 9, 6, 2)
for (i <- 0 until a.length)
println(i + ":" + a(i)) //> 0:null
//| 1:null
//| 2:null
//| 3:null
//| 4:null
//| 5:null
//| 6:null
//| 7:null
//| 8:null
//| 9:null
val c2 = Array(5, 6, 10, 2, 3) //> c2 : Array[Int] = Array(5, 6, 10, 2, 3)
val result = for (elem <- c2) yield 2 * elem //> result : Array[Int] = Array(10, 12, 20, 4, 6)
for (elem <- c if elem % 2 == 0) yield 2 * elem //> res7: Array[Int] = Array(20, 16, 12, 4)
// 过滤后的偶数 结果 x3
c2.filter(_ % 2 == 0).map(3 * _) //> res8: Array[Int] = Array(18, 30, 6)
c2 //> res9: Array[Int] = Array(5, 6, 10, 2, 3)
val d = ArrayBuffer(1, 7, 2, 3) //> d : scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 7, 2, 3)
val bSorted = d.sorted //> bSorted : scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 3,
//| 7)
val e = Array(1, 7, 2, 9) //> e : Array[Int] = Array(1, 7, 2, 9)
scala.util.Sorting.quickSort(e)
e //> res10: Array[Int] = Array(1, 2, 7, 9)
e.mkString //> res11: String = 1279
e.mkString("<", ",", ">") //> res12: String = <1,2,7,9>
val matrix = Array.ofDim[Double](3, 4) //> matrix : Array[Array[Double]] = Array(Array(0.0, 0.0, 0.0, 0.0), Array(0.0,
//| 0.0, 0.0, 0.0), Array(0.0, 0.0, 0.0, 0.0))
matrix(2)(1) = 42
matrix //> res13: Array[Array[Double]] = Array(Array(0.0, 0.0, 0.0, 0.0), Array(0.0, 0.
//| 0, 0.0, 0.0), Array(0.0, 42.0, 0.0, 0.0))
val triangle = new Array[Array[Int]](10) //> triangle : Array[Array[Int]] = Array(null, null, null, null, null, null, n
//| ull, null, null, null)
for (i <- 0 until triangle.length)
triangle(i) = new Array[Int](i + 1)
triangle //> res14: Array[Array[Int]] = Array(Array(0), Array(0, 0), Array(0, 0, 0), Arr
//| ay(0, 0, 0, 0), Array(0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0), Array(0, 0,
//| 0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0, 0, 0
//| , 0), Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
}
}