所以,是的,有没有办法
[1, 2].each { puts _ }
而不是
[1, 2].each { |i| puts i }
也许:
{ a: 1, b: 2 }.each { puts _1, _2 }
显然这些都是简单的例子,但是用它们编写一些脚本要容易得多。
也许现在为
def _1; ...; end
这样的对象扩展会更容易一些,但是我看不到将当前对象传递到块的方法。 最佳答案
这是我唯一能找到的东西
puts_m = method(:puts)
[1, 2, 3].each(&puts_m)
1
2
3
=> [1, 2, 3]
关于ruby - 更简洁的 ruby 块语法,例如:`[[1,2] .each {put _}`代替`[[1,2] .each {| i |放我}`,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40283819/