scala細節 你不知道的

2021-07-22 09:24:24 字數 844 閱讀 8839

'_'在scala一般都是作為佔位符,比如下面過濾掉非整數的例子

somenumbers.filter(x => x > 0)
其等價於

somenumbers.filter(_ > 0)
如下是做為引數的佔位符,需宣告型別

val f=(_:int)+(_:int)

f(5,10) //15

多個下劃線指代多個引數,而不是單個引數的重複使用。第乙個下劃線代表第乙個引數,第二個下劃線代表第而箇引數,以此類推

下劃線在部分應用函式(c++預設引數)中的應用,如下面的例子

def sum(a:int,b:int,c:int)

val sum2=sum(1,_:int,3)

sum2(2)//6

看下列印函式的簡化演化

somenumbers.foreach(x => println(x))

=>

somenumbers.foreach(println(_))

=>

somenumbers.foreach(println _) //中間有空格

=>

somenumbers.foreach(println)

但是最後的簡化是有條件:比如之前的sum,它有多個引數,進行賦值操作的時候要新增_

val c=sum  //error: missing arguments for method sum;

val c2=sum _ //ok

不知道不知道

函式分析 希爾伯特 哥德爾不完備定理 哥德爾不完全性定理一舉粉碎了數學家兩千年來的信念。他告訴我們,真與可證是兩個概念。可證的一定是真的,但真的不一定可證。某種意義上,悖論的陰影將永遠伴隨著我們。無怪乎大數學家外爾發出這樣的感嘆 上帝是存在的,因為數學無疑是相容的 魔鬼也是存在的,因為我們不能證明這...

不知道不知道

函式分析 希爾伯特 哥德爾不完備定理 哥德爾不完全性定理一舉粉碎了數學家兩千年來的信念。他告訴我們,真與可證是兩個概念。可證的一定是真的,但真的不一定可證。某種意義上,悖論的陰影將永遠伴隨著我們。無怪乎大數學家外爾發出這樣的感嘆 上帝是存在的,因為數學無疑是相容的 魔鬼也是存在的,因為我們不能證明這...

你不知道的 和

開發中,編寫有一定逼格的 是每個程式猿都追求的。經常用來判斷的符號 和 也經常用來定義變數哦,你知道嗎?邏輯與 在有乙個運算元不是布林值的情況下,就不一定返回布林值。比如以下情況 1 第乙個運算元是物件,返回第二個數 var myinfo console.log myinfo 2 輸出22 第二個運...