classes
05-09
不知道為什麼總有人認為 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:函數式編程 |