在 Ruby 3 中,...
引入了新的语法,允许这样的结构:
def locked_run(...)
lock
run(...)
unlock
end
这记录在这里:https ://rubyreferences.github.io/rubychanges/3.0.html
经过这次讨论(https://bugs.ruby-lang.org/issues/16378),决定让位置参数也加入:
def block_section(name, ...)
section(name, true, ...)
end
但是,以下仍然会导致语法错误:
def block_section(...)
section(block_section: true, ...)
end
为什么允许使用位置参数...
但不允许使用命名参数?