- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在 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
我得到错误
没有重载匹配类型为 Int32、Int32 的 'Proc(Int32, Int32)#call'重载是: - Proc(T, R)#call(*args : *T)
最佳答案
来自 the proc documentation , Proc(Int32, Int32)
是一个接受一个 Int32
并返回一个 Int32
的过程。您的意思是使用 Proc(Int32, Int32, Int32)
。此外,您需要使用 semi_curry.call(add).call(5).call(6)
。
semi_curry = ->(f: Proc(Int32, Int32, Int32)) { ->(a: Int32) { ->(b: Int32) { f.call(a, b) } } }
add = ->(a: Int32, b: Int32) {a + b}
p semi_curry.call(add).call(5).call(6)
https://play.crystal-lang.org/#/r/3r0m
如果你想在你的应用程序中柯里化(Currying)一个过程,而不是作为一个学习练习,你应该使用 Proc#partial
相反。
关于crystal-lang - Crystal 郎 curry ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49351960/
我尝试在 Crystal 中创建 curried add proc。如何使这个例子工作? semi_curry = ->(f: Proc(Int32, Int32)) { ->(a: Int32) {
我只是在写一个异常,它应该存储一个 Class 对象作为错误消息处理的字段。 class BadType < Exception getter should_be : Class ge
最佳实践? 二进制格式,请 Big Endian or Little Endian 的情况呢? 最佳答案 然后是IO#write_bytes . Endianess 可以通过参数 format 配置。
最佳实践? 二进制格式,请 Big Endian or Little Endian 的情况呢? 最佳答案 然后是IO#write_bytes . Endianess 可以通过参数 format 配置。
Unix使用/来分隔文件夹,但Windows使用\,所以我想知道跨平台连接两个路径的安全方法,例如/tmp/ + temp_file.xxx. 最佳答案 过了一会儿,我找到了答案,File.join
我正在将 Crystal Lang 开发迁移到运行 OSX El-Capitan 的新机器上。 我遇到了一个问题,当使用 MySQL 绑定(bind)编译应用程序时, Crystal 编译器会抛出此错
我是一名优秀的程序员,十分优秀!