块注释的确切规范是什么?=begin
第一行和最后一行必须完全以and开头,这似乎是真的=end
。但除此之外,还有一点不明确。一些描述说=begin
并且=end
必须是相应行的唯一内容,但这似乎不是真的。运行 Ruby 1.9.3 MRI,我得到以下结果。
添加空白字符似乎仍然有效:
=begin \t\t \t
This is not a Ruby command and should raise an exception if read.
=end \t\t\t \t\t\t\t
# => no problem
此外,似乎我可以在一个或多个空格字符后添加任意字符串(不包括“\n”),仍然可以:
=begin \t\t \tblah blah blah
This is not a Ruby command and should raise an exception if read.
=end \t\t\t \t\t\t\tThis is some scribble
# => no problem
=begin
我可以在块注释的中间添加一行:
=begin
This is not a Ruby command and should raise an exception if read.
=begin
So as this one.
=end
# => no problem
但不是有资格作为评论最后一行的行:
=begin
This is not a Ruby command and should raise an exception if read.
=end blah blah
So as this one.
=end
# => error
是这个规范,还是依赖于实现的行为?为清楚起见,有人可以用正则表达式描述 Ruby 块注释语法的确切规范吗?