将块放在一行上的语法

Cam*_*oth 26 ruby syntax

所以我有一个像这样的Ruby方法:

def something(variable, &block)
  ....
end
Run Code Online (Sandbox Code Playgroud)

我想这样称呼它:

something 'hello' { do_it }
Run Code Online (Sandbox Code Playgroud)

除非这对我不起作用,否则我会收到语法错误.如果我这样做,它的工作原理:

something 'hello' do
  do_it
end
Run Code Online (Sandbox Code Playgroud)

除了那里,我有点想念它在一条线上的漂亮外观.

我可以看到为什么会发生这种情况,因为它可能看起来像是作为第二个变量传递的哈希,但变量之间没有逗号...但我认为必须有办法处理这个我'我失踪了.在那儿?

Rôm*_*con 38

你需要用括号括起你的论点:

something('hello') { do_it }
Run Code Online (Sandbox Code Playgroud)

这应该工作.