點燈坊

失くすものさえない今が強くなるチャンスよ

使用 floor() 對 Number 無條件捨去

Sam Xiao's Avatar 2020-12-09

ECMAScript 提供了 Math.floor() 對 Number 無條件捨去,但此為 Static Method ,因此提供 floor() Free Function 方便 Function Pipeline。

Version

Wink-fp 1.24.24

bind()

import { pipe, bind, divide as div, flip } from 'ramda'

let floor = bind(Math.floor, Math)

pipe(
  flip(div)(3),
  floor,
)(10) // ?

使用 bind()Math.floor() 抽出 floor()

floor000

Wink-fp

import { pipe, divide as div, flip } from 'ramda'
import { floor } from 'wink-fp'

pipe(
  flip(div)(3),
  floor
)(10) // ?

Wink-fp 已提供 floor() 可直接使用。

floor()
Number -> Number
對 Number 無條件捨去

Number:傳入 Number

Number:回傳無條件捨去後 Number

floor001

Conclusion

  • ECMAScript 很多都以 static method 提供,可使用 bind() 將其抽成 free function