zip()
雖然可直接使用,但事實上也能使用 zipWith()
組合而成。
Version
Ramda 0.27.1
zipWith()
import { zipWith } from 'ramda'
let data1 = [1, 2, 3]
let data2 = [2, 4, 6]
let zip = zipWith ((x, y) => [x, y])
zip (data1) (data2) // ?
zip()
會將兩個 Array 合併成 Array Pair,可使用 (x, y) => [x, y]
傳入 zipWith()
實現。
Point-free
import { zipWith, pair } from 'ramda'
let data1 = [1, 2, 3]
let data2 = [2, 4, 6]
let zip = zipWith (pair)
zip (data1) (data2) // ?
事實上 (x, y) => [x, y]
就是 pair()
,可使用 pair()
使傳入 zipWith()
的 function 也 Point-free。
Conclusion
- Point-free 後可讀性更高,這正是 Point-free 優點