这在红宝石中完全合法:
foo = {}
foo
.key?('bar')
但这是语法错误
foo = {}
foo
# Why on earth can't I put a comment here?
.key?('bar')
如何记录该特定方法调用? (在这个人为的例子中,文档是愚蠢的,但在一个10方法的调用链记录每一个在一条线上是合理的)
答案 0 :(得分:4)
<table>
<tr><td>
<table><tr><td>Row 1 Col 1a</td><td>Row 1 Col 1b</td></tr></table>
</td><td>Row 1 Col 2</td><td>Row 1 Col 3</td></tr>
<tr><td>Row 2 Col 1</td><td>Row 2 Col 2</td><td>Row 2 Col 3</td></tr>
<tr><td>Row 3 Col 1</td><td>Row 3 Col 2</td><td>Row 3 Col 3</td></tr>
</table>
它不漂亮,但它有效。
foo = {}
puts foo
. # comment
key?('bar')
更漂亮,仍然有效。
答案 1 :(得分:4)
如果您确实拥有10方法的调用链,并且需要使用注释记录每个调用,那么您可能需要考虑您的应用程序设计是否合理。
在任何情况下,您都可以使用反斜杠创建如您所述的多行调用:
foo = {}
foo \
# This will work!
.key?('bar')
#=> false
答案 2 :(得分:3)
[这不能解决您的具体问题,但评论时间太长了]
我通常在同一行上写评论,就在我要解释的方法调用之后,例如:
10.times # 0, 1, 2, ..., 8, 9
.map { |i| i * 3 } # multiply by 3
.select(&:odd?) # keep odd numbers
.reduce(:+) # calculate sum