1.變長引數
例如定義乙個變長引數的方法sum,然後計算1-5的和,可以寫為
scala> def sum(args: int*) =
sum: (args: int*)int
scala> val s = sum(1,2,3,4,5)
s: int = 15
但是如果使用這種方式就會報錯
scala> val s = sum(1 to 5)
:12: error: type mismatch;
found : scala.collection.immutable.range.inclusive
required: int
val s = sum(1 to 5)
^
這種情況必須在後面寫上: _*將1 to 5轉化為引數序列
scala> val s = sum(1 to 5: _*)
s: int = 15
2.變數宣告中的模式
例如,下面**分別將arr中的第乙個和第二個值賦給first和second
scala> val arr = array(1,2,3,4,5)
arr: array[int] = array(1, 2, 3, 4, 5)
scala> val array(1, 2, _*) = arr
scala> val array(first, second, _*) = arr
first: int = 1
second: int = 2
Scala 中下劃線的常見使用
有時候乙個變數的名字或者值並不重要或者並不會被使用,那麼我們可以宣告這個變數 val 100val l 1 to 10 map 100 還有一種情形是在self types中作為型別限制 trait engine trait motor實現motor 時必須要先實現engine。最後,在范型中也會使...
Python中下劃線說明
在python中經常看到方法或者變數前帶有下劃線,稍作解釋。1.前後雙下劃線 mtthod 這一般是系統定義的特殊方法,類似於類的構造方法 init 2.前單下劃線 以單下劃線開頭的變數指的是變數的許可權型別為protected,即是保護許可權的變數,該型別的變數只能通過其本身及子類的例項物件能夠訪...
python中下劃線 的用途
python 用下劃線作為變數字首和字尾指定特殊變數。不能用 from module import 匯入 系統定義名字 類中的私有變數名 核心風格 避免用下劃線作為變數名的開頭。因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下劃線作為變數名的開頭。一般來講,...