Scala 27 函式柯里化(curry)

2021-10-02 21:55:10 字數 953 閱讀 2652

函式程式設計中,接受多個引數的函式都可以轉化為接受單個引數的函式,這個轉化過程就叫柯里化。柯里化就是證明了函式只需要乙個引數而已。

//常規 

def mul

(x: int, y: int)

= x * y

println

(mul(10

,10))

//閉包

def mulcurry

(x: int)

=(y: int)

=> x * y

println

(mulcurry(10

)(9)

)//函式柯里化

def mulcurry2

(x: int)

(y:int)

= x * y

println

(mulcurry2(10

)(8)

)

//這是乙個函式,可以接收兩個字串,比較是否相等

def eq

(s1: string, s2: string)

: boolean =

//隱式類

implicit class

testeq

(s: string)

}val str1 =

"hello"

println

(str1.

checkeq

("hello"

)(eq)

)//在看乙個簡寫形式

println

(str1.

checkeq

("hello"

)(_.

equals

(_))

)

————blueicex 2020/2/17 10:55 [email protected]

Scala 函式柯里化

柯里化指的是將原來接受多個引數的函式變成新的接受乙個引數的函式的過程,新函式的引數接受原來的第二個引數為唯一引數,如果有n個引數,就是把這個函式分解成n個新函式的過程 1 函式程式設計中,接受多個引數的函式都可以轉化為接受單個引數的函式,這個轉化過程就叫柯里化 2 柯里化就是證明了函式只需要乙個引數...

scala 函式柯里化

1 函式程式設計中,接受多個引數的函式都可以轉化為接受單個引數的函式,這個轉化過程就叫柯里化 2 柯里化就是證明了函式只需要乙個引數而已。不重要 package com.xcu.chapter13 object demo05 curry 3 柯里化就是函最重要的是要體現函式的分工協作,例如乙個函式是...

Scala 函式柯里化 Currying

柯里化 currying 指的是將原來接受兩個引數的函式變成新的接受乙個引數的函式的過程。新的函式返回乙個以原有第二個引數為引數的函式。例項 首先我們定義乙個函式 def add x int,y int x y那麼我們應用的時候,應該是這樣用 add 1,2 現在我們把這個函式變一下形 def ad...