ruby - 将 block 放在一行上的语法

标签 ruby syntax

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

def something(variable, &block)
  ....
end

我想这样调用它:

something 'hello' { do_it }

除非这对我不起作用,否则我会遇到语法错误。如果我改为这样做,它会起作用:

something 'hello' do
  do_it
end

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

我明白为什么会这样,因为它看起来像是作为第二个变量传递的散列,但变量之间没有逗号......但我认为必须有一种方法来处理这个我失踪了。有吗?

最佳答案

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

something('hello') { do_it }

这应该有效。

关于ruby - 将 block 放在一行上的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/255714/

相关文章:

php - 尝试循环的语法错误

c++ - 什么是参数值的尖括号,它的用途是什么?

azure - 从 Terraform 中的 map 列表中输出特定值

python - 这些变量是什么?

ruby - 从文件中拆分 ruby

ruby - 转义的 Ruby 正则表达式在用作文字正则表达式时不匹配。为什么?

ruby - 大量同时请求的乘客停顿

ruby-on-rails - 在运行 bundle install 时,在 1.9 兼容模式下使用 jruby 创建新的 rails 项目挂起

c# - 功能(): this(null) {}

ruby-on-rails - Ruby/Rails - 是否可以在 View 中执行 ruby​​ 计算?