将函数替换为 ruby 样式块
有了下划线,我可以实现如下奇妙的效果:
_([1,2,3]).chain().map(function(n) {return n*2}).reduce(function(m,a) {return m +a},0).value()
显然,最详细的部分是定义函数
。能不能更简单一点?像这样的东西:
_([1,2,3]).chain().map( {|n| return n*2} ).reduce({|m,a| return m+2; },0).value()
Armed with underscore, I could achieve something fantastic like below:
_([1,2,3]).chain().map(function(n) {return n*2}).reduce(function(m,a) {return m +a},0).value()
Obviously, the most verbose part is the definition of function
. Could it be more simpler? Something like:
_([1,2,3]).chain().map( {|n| return n*2} ).reduce({|m,a| return m+2; },0).value()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您喜欢编写紧凑的函数式编程,请检查 函数式 (警告:它需要非OOP 方法):
感觉就像你在写 Haskell ;-)
If you take delight in writing compact functional programming, check Functional (caveat: it takes the non-OOP approach):
It feels almost like you are writing Haskell ;-)
如果您使用 CoffeeScript 您可以
使用匿名函数进行编写。
JavaScript 当然没有块。
If you were using CoffeeScript you could write
using anonymous functions.
JavaScript doesn't have blocks of course.