scala的foreach和for
一句印象深刻的話,Alan Kay(Smalltalk發明者)說得一句話:“I’m not against types, but I don't know of any typesystems that aren't a complete pain, so I still like dynamic typing”。
并不是靜態類型不好,只是靜態類型的實現太讓他痛苦了,所以他只好喜歡動態類型(語言)。但Scala就是一個實現良好的靜態類型語言,帶有很多動態語言的特點,動靜結合得非常好,很舒服,當然,也不好學。題外說一句:Scala還能當腳本語言用,?這徹底糾正了我的“這是動態語言的特權”的舊思想。
來看看Scala的foreach和for枚舉功能,就知道它有多函數式和“動態”了。
scala> Array("a1", "a2", "a3").foreach((a: String) => print(a + ' ')
a1 a2 a3
進一步,省略參數的類型聲明,Scala是可以進行類型推斷的,這很動態:
scala> Array("a1", "a2", "a3").foreach(a => print(a + ' '))
a1 a2 a3
再進一步,甚至省略了參數也能玩得轉:
scala> Array("a1", "a2", "a3").foreach(print)
a1a2a3
接下來看看for,很簡單:
scala> for (a <- Array("a1", "a2", "a3")) println(a)
a1
a2
a3
總結
以上是生活随笔為你收集整理的scala的foreach和for的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SparkSQL操作Hive Table
- 下一篇: spark从hbase读取写入数据