Scala函式式程式設計

2022-07-02 17:24:09 字數 1694 閱讀 8203

package

com.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)

}

package

com.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...