Scala for the impatient: ch1
a 方法 b 等同於 a.方法(b)
未提供++或--(不可變動性),但可以用counter +=1 將counter遞增。scala設計者認為不值得為少按一個鍵而增加特例。
有type: BigInt , BigDecimal
- BIGINT provides 8 bytes of storage for integer values.
沒有靜態的方法,但有類似的特性,叫做單例對象(singleton object),通常一個類對應會有一個伴生對象(companion object)。
不帶參數的方法可以不使用圓括號:
- "hello".distinct
若s為一個字串,s(i)就是該字串的第i個字符
-
"hello"(4)
- ()當作是操作符的重載形式,背後的實現原理是apply的方法,StringOps內有個方法 def apply(n:Int): char。因此,"hello"(4)等同於"hello".apply(4)。
BigInt("1234567890")
-
創造出一個新的BigInt物件
-
等同於BigInt.apply("1234567890")
Scaladoc: http://www.scala-lang.org/
- C: class, O: object
tips:
- 數值類型查詢:RichInt, RichDouble
- 字串類型查詢:SpringOps
- 數學函數:scala.math package中
"Harry".patch(1,"ung",2),將產出Hungry
def patch(from:Int, that:GenSeq[Char], replaced: Int ):StringOps[A]
比大小max(a,b) max c
probablePrime(2,Random):回傳一個bit長度為二的質數(type:BigInt)