在Ruby中,当多行注释以<<
开头时,它是什么意思?
答案 0 :(得分: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
你可以看到&lt;&lt;&lt;&lt;&lt;&lt;&lt;并忽略关键字。
但是,这不是通常意义上的评论,而是占用了一些内存分配。很有可能,你看到它出现的地方,实际上是用来创建一个分配给变量或传递给方法的文字。
建议不要使用'heredoc'进行评论,这不是该功能的原始意图。如果用于评论,那么审查代码的人可能会感到困惑,特别是长代码块。
使用(代替)=begin
和=end
约定,或者为了清晰起见,使用每个注释行前面的显式#
。