scala 中 下劃線與星號( )

2021-08-28 02:22:58 字數 832 閱讀 6989

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 匯入 系統定義名字 類中的私有變數名 核心風格 避免用下劃線作為變數名的開頭。因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下劃線作為變數名的開頭。一般來講,...