【发布时间】:2017-11-02 21:57:32
【问题描述】:
我正在尝试在坚持核心标准库的同时做这样的事情。
(define (fn m x b) (+ b (* m x)))
((curry fn _ 3 _ ) 2 4) -> (fn 2 3 4)
有没有类似的东西,或者 Racket 社区是否规定了不同的习语,例如命名参数?
【问题讨论】:
我正在尝试在坚持核心标准库的同时做这样的事情。
(define (fn m x b) (+ b (* m x)))
((curry fn _ 3 _ ) 2 4) -> (fn 2 3 4)
有没有类似的东西,或者 Racket 社区是否规定了不同的习语,例如命名参数?
【问题讨论】:
有一个标准解决方案,但不在核心库中。只需使用来自SRFI 26 的cut 宏:
(require srfi/26)
(define (fn m x b)
(+ b (* m x)))
((cut fn <> 3 <>) 2 4)
=> 10
(fn 2 3 4)
=> 10
【讨论】:
lang #racket 遵循标准的部分。