【问题标题】:Commenting a part of a line with ruby用 ruby​​ 注释一行的一部分
【发布时间】:2013-02-21 04:33:46
【问题描述】:

在 ruby​​ 中,您可以像这样注释行尾:

puts "This is a line" # Comment for end of line

或者像这样的多行:

=begin
Multi
lines
comment
=end

为什么我找不到任何有关仅注释部分行的语法的信息,例如,在 C 中:

if (my_condition()/* || true */)

它存在于 ruby​​ 中吗?如果不是,为什么?

【问题讨论】:

  • It doesn't exist。我不知道为什么。
  • if (my_condition()/* || true */) 是一个不好的习惯。它会产生维护问题,因为很难看到注释代码。 Ruby 作为一种较年轻的语言,有很多基于事后诸葛亮的语法选择,并且不允许这样的 cmets。心存感激,因为从长远来看,这是一种祝福。

标签: ruby comments


【解决方案1】:

我怎么找不到...?

因为没有。如果你想这样做,也许你可以这样做:

some_code.tap{%q{some comments blah blah blah}}.some_more_code_to_continue

您可以将.tap{%q{...}} 解读为/*...*/ 在C 中的含义,尽管它看起来不太好。在某些语言中,人们确实设法使用现有语法制作内联 cmets;例如,在 TeX 中,经常使用 \if\false...\fi

【讨论】:

  • .tap{%q{…}}作弊真的很奇怪:-)
【解决方案2】:

没有您正在寻找的确切传递性,但您可以使用 \n\ 轻松伪造它:

# Inserted `\ #`   ⇓⇓⇓ and CR ⇓⇓⇓  
if (my_condition() \ # || true 
)

【讨论】:

  • 不需要继续\。 Ruby 会自动抓取下一行的右括号,并忽略注释的|| true
  • @theTinMan 我想这不是唯一的情况,有人会尝试在括号内应用该技术。
猜你喜欢
  • 2014-08-04
  • 1970-01-01
  • 2018-10-22
  • 1970-01-01
  • 2018-11-18
  • 1970-01-01
  • 2021-10-11
  • 2018-02-19
  • 2018-06-02
相关资源
最近更新 更多