提前确定参数
bind 绑定参数
我们知道可以用 bind 提前绑定参数
但是这样会多出一个讨厌的 null。
curry
用 curry 可以除去这个 null:
partial
用 partial 也可以:
绑定其他参数怎么办?
上面的 bind / curry / partial 都可以绑定参数,但是只能绑定前面的参数,如果我要绑定中间或者后面的参数怎么办呢?
看例子:
可以看到每次 readFile 的后面两个参数都是 'utf8' 和 output。
于是你可能会这样改写:
看起来还不错。
Ramda 占位符
占位符就是用来解决这种问题的,不过前提是函数是柯里化过的:
然后稍微优化一下:
你可以认为 __
的位置就是 file1.txt 和 file2.txt 出现的位置。
是不是特别直观?
这就是占位符的用法。