技術と本について書くブログ

技術と本について書くblog。技術メモなど雑記を書いているblog。

カリー化 is なに?

カリー化とは ・関数を返す関数

const add = (x, y) => x + y

で書かれた add(1,2) //1+2 を

const add = x -=> y => x + y
add(1)(2)

にのように使えるようにするこれがカリー化

ではなぜこのようなことをするのか

add(1, 2)
add(1, 3)
.
.
.
.

となるのがカリー化することによって

add1 = add(1)
add1(2)
add1(3)
.
.

つまり、引数の一部を共通化することが可能になっている。

Swift版

func add(x: Int, y Int) -> Int {
    retrun x + y
}

カリー化すると

func add(x: Int) -> (Int) -> Int {
    return { y in x + y } 
}