【发布时间】:2018-03-18 19:23:53
【问题描述】:
我尝试在 Crystal 中创建 curried add proc。如何使这个例子起作用?
semi_curry = ->(f: Proc(Int32, Int32)) { ->(a: Int32) { ->(b: Int32) { f.call(a, b) } } }
add = ->(a: Int32, b: Int32) {a + b}
p semi_curry(add).call(5).call(6)
https://play.crystal-lang.org/#/r/3r0g
我得到错误
没有重载匹配 'Proc(Int32, Int32)#call' 类型为 Int32, Int32 重载是: - Proc(T, R)#call(*args : *T)
【问题讨论】:
标签: crystal-lang