Ruby Ruby 风格指导中的疑问

lithium4010 · 2015年02月25日 · 最后由 lithium4010 回复于 2015年02月26日 · 1924 次阅读

未使用的区块参数使用 _ , 那么出现多个未使用区块参数应该怎么办呢?

http://stylesror.github.io/#ruby.syntax

# 差
result = hash.map { |k, v| v + 1 }

# 好
result = hash.map { |_, v| v + 1 }

#这种情况怎么办?
result = hash.merge(other_hash) { | k, ov, nv| ov + 10 }

在参数前加一个_

result = hash.merge(other_hash) { |_k, ov, _nv| ov + 10 }
result = hash.merge(other_hash) { |_, ov, _| ov + 10 }

这样也可以的啊

_ 可以写多个

result = hash.merge(other_hash) { | _, ov, _| ov + 10 }

我觉得声明未使用区块参数说不上差,不写的话下次看到这段代码还要犹豫这个忽略的参数是什么。1 楼用法综合了两方面考虑。

我觉得用_是和 haskell 这种纯函数式风格的语法学的

需要 登录 后方可回复, 如果你还没有账号请 注册新账号