Ruby 使用块时出错

Ruby 使用块时出错,ruby,syntax,block,Ruby,Syntax,Block,我有一个取一个块的方法,我如下调用它: def myfunc(symbol, args: nil, &block) ... end myfunc :user { p "BLOCK" } #>> SyntaxError ((irb):19: syntax error, unexpected '{', expecting end-of-input myfunc :user { p "BLOCK" } 如果我使用do调用该方法结束块样式,它可以工作 Ruby 2.4之后发生

我有一个取一个块的方法,我如下调用它:

def myfunc(symbol, args: nil, &block)
  ...
end

myfunc :user { p "BLOCK" }
#>> SyntaxError ((irb):19: syntax error, unexpected '{', expecting end-of-input myfunc :user { p "BLOCK" }
如果我使用
do
调用该方法<代码>结束块样式,它可以工作


Ruby 2.4之后发生了什么变化?我如何解决这个问题?

包装符号参数-
myfunc(:user){p“BLOCK”}
,否则就不会传递块。@SebastianPalma是的,就是这样!