'_'在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 第二個運...