【发布时间】:2019-12-09 12:39:07
【问题描述】:
我学习 Ruby 的方式是,带括号和不带括号的函数语法都是可以接受的。为什么一些 Ruby 解释器特别想要一个而不是另一个?
def foo(i)
puts "=" * i.length
puts i
puts "=" * i.length
end
foo "hello"
=begin
=====
hello
=====
=end
foo ("hello")
# sometimes ERROR
【问题讨论】:
-
我不知道有任何 Ruby 会抱怨这一点。对于非模棱两可的参数,括号是完全可选的。您是指 Ruby 与 JRuby 中的“解释器”,还是像 Rubocop 这样的 linter 中的“解释器”?
-
我不是在谈论 JRuby,我做了一个错误的假设,认为有很多常见的 Ruby 解释器,就像有很多常见的 C 编译器一样。需要明确的是,有时它会抱怨空间,有时则不会。
标签: ruby function syntax parentheses