packagecom.yz6
import
scala.collection.mutable.arraybuffer
object test
//定義乙個函式 軀殼+靈魂
def function0(name:string): unit = println("你好"+name)
//將乙個函式作為值傳遞給另乙個函式[在被傳遞函式後寫 空格_}
//函式簽名 函式體
//(name:string)=>println("你好"+name)
def function1=function0 _
//形成了如下的函式(相當於把乙個函式靈魂(函式簽名和函式體)給了另乙個函式 名字只是軀殼)
//def function1(name:string)=println("你好"+name)
//匿名函式
val aa = (x:string) => println(x+"他來了")
//如果乙個變數/不變數被賦予了乙個靈魂(函式簽名+函式體),那麼呼叫的時候應該把該變數/不變數當做函式一樣呼叫
//定義高階函式case1 將函式作為引數
def h1(name:string,fun:(string)=>unit): unit =
//定義高階函式case2 將函式作為返回值
def h2(name:string)=(x:string)=>println(name+"------------"+x)
}
packagecom.yz7
import
org.junit.test
class
test ), x_n)
//* }}}
var i3=(1 to 5).reduceleft((x:int,y:int)=>x-y)
println(i3)
//-13
//1-2=-1 -1-3=-4 -4-4=-8 -8-5=-13
var i4=(1 to 5).reduceright((x:int,y:int)=>x-y)
println(i4)//3
//4-5=-1 3-(-1)=4 2-4=-2 1-(-2)=3
} @test
def test2(): unit =
@test
def test3(): unit =
@test
def test4(): unit =
//--和最初一樣 (這是把大括號加上,這樣看著更方便)
def mulby3(factor:double)=
}val doubletodouble = mulby3(4)
val d=doubletodouble(6)
println(d)
} @test
def test5(): unit =
//呼叫
fun1(3,5)
//變形
def fun2(x:int)=(y:int)=>println(x+y)
//呼叫
//val in=fun2(6)
//in(7)
fun2(6)(7)
//柯里化(只是乙個變形)將兩個引數的函式變成乙個引數的函式的形態
}}
SCALA函式式程式設計
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 scala的語法規定,將函式賦值給變數時,必須在函式後面加上空格和下劃線 正常宣告乙個帶有乙個字串型別引數,並返回unit型別的方法 sca...
Scala函式式程式設計
知識點1.scala的柯里化技術,允許將接受多個引數的函式,轉變為接受單一引數的函式 2.柯里化的作用可以允許使用者自建控制結構 object demo03 f1 a int,b int int def f11 a int b int f11 a int b int int def f2 a int...
Scala函式式程式設計
scala語言是乙個完全物件導向程式設計語言。萬物皆物件 物件的本質 對資料和行為的乙個封裝 scala語言是乙個完全函式式程式語言。萬物皆函式。解決問題時,將問題分解成乙個乙個的步驟,將每個步驟進行封裝 函式 通過呼叫這些封裝好的步驟,解決問題 函式的本質 函式可以當做乙個值進行傳遞 在scala...