-4

在 Ruby 中,多行注释以 开头是什么意思<<

4

1 回答 1

0

它定义了一种输入多行代码的方法,这些代码将被 Ruby 解释器忽略。这种多行文字功能称为“Here Documents”(缩写为“heredoc”)。在这里讨论...

https://ruby-doc.org/core-2.2.0/doc/syntax/literals_rdoc.html#label-Here+Documents

您将自己的“关键字”放在<<最后一行之后,然后在最后一行之后使用相同的关键字,以便 Ruby 知道多行赋值停止的位置。

x = 1

<<-endofstuff
x = 2
x += 1
endofstuff

p x
=> 1

您可以看到 << 和关键字之间的行被忽略了。

但是,这不是通常意义上的注释,并且确实占用了一些内存分配。很有可能您看到它实际上是用于创建分配给变量或传递给方法的文字。

不建议使用“heredoc”进行评论,这也不是该功能的初衷。如果用于注释,它可能会让审阅代码的人感到困惑,尤其是一长段代码。

使用(而不是)=beginand=end约定,或者为了清楚起见,#在每条注释行前面显式地使用。

于 2016-09-20T10:16:20.017 回答