標籤:

classes

不知道為什麼總有人認為 OOP 和 FP 是對立的...

Beta 規約 與 method

事實上一個 method 是可以完全通過 Beta 規約來求值的, 這可以如下 Substitution 做到:

考慮一個 Class:

class SomeClass(x1: Type1, x2: Type2 ...) = { ... def some_method(y1: Type1, y2: Type2 ...) = { [function body] } ...}

substitution:

[x1/v1,x2/v2,...][y1/w1,y2/w2,...][new SomeClass(v1,v2,...)/this]new SomeClass(x1,x2,...).some_method(y1,y2,...)

推薦閱讀:

C宏元編程:編譯期LISP解釋器(一)總體思路
如何理解 Kotlin 的尾遞歸
我願意在她手掌之中(一):範式
Python3 函數 匿名函數(002)
想學函數式編程? - 收藏集 - 掘金

TAG:函數式編程 |