Scala之for循环

打印每一个命令行参数:

args.foreach(arg => println(arg))   

函数文本由带一个参数的一句话组成:

args.foreach(println)

Scala里只有一个指令式for的函数式近似:

for (arg <- args)   println(arg)

其中<- 的左边是变量,右边是数组。

再比如带类型的参数化数组

val greetStrings = new Array[String](3)
  greetStrings(0) = "Hello"
  greetStrings(1) = ", "
  greetStrings(2) = "World!\n"
  for (i <- 0 to 2)
    print(greetStrings(i))

这里的数组定义,只要new的时候带类型Array[String]就行了,val后面自动推断类型。
这里的数组索引用的是()而不是java里面的[]。
因为scala里面根本没有传统意义上的操作符,取而代之的是他们都可以转换为方法。

例如greetStrings(i)可以转换成 greetStrings.apply(i),greetStrings(0) = "Hello"  将被转化为 greetStrings.update(0, "Hello")

尽管实例化之后无法改变 Array 的长度,它的元素值却是可变的。因此,Array 是可变的对象。

相关推荐