使用多行正则表达式在Ruby中注释掉代码是否可以?

时间:2019-11-26 20:18:06

标签: regex ruby comments

注释掉ruby中的代码时,我们有2个主要选项

  1. 在行# puts "somecode"的开始处添加尖点
  2. 将代码放在 =start puts "somecode" =end
  3. 之间

我很懒,有时我将代码放在斜线之间,例如下面的代码。它创建多行正则表达式表达式。这种做法会导致什么样的副作用?

代码

puts "hello"
/
puts "world"
/
puts "peace"

输出

hello
peace

2 个答案:

答案 0 :(得分:1)

使用塔德曼的例子

/members/{private member}

每次调用该方法时都会创建一个Regex对象,这不是免费的。垃圾收集过程需要时间,内存和额外的工作。

答案 1 :(得分:0)

正如Holger指出的那样,大多数编辑器都具有“切换注释”,这使启用/禁用代码块的方式更加可靠。这是推荐的方法。您的正则表达式方法太懒了一半,这对那些一眼看懂代码以验证正在发生什么的人来说是莫名其妙的。

使用无意禁用的代码进行提交是一件会发生的事情,因此您希望您的注释既明显又易于修复。

哪个看起来更好:

def example
  do_important_stuff!
  /
  other(thing: true)
  do_super_important_stuff(factor: 9000)
  /
  do_other_stuff
end

相对更直观:

def example
  do_important_stuff!
  # other(thing: true)
  # do_super_important_stuff(factor: 9000)
  do_other_stuff
end

与许多编辑器一样,Stack Overflow的语法突出显示立即显示此处有被注释掉的代码。另一个版本只是 bizarre

如果您觉得启用/禁用评论太繁琐,则可能需要让您的编辑器来帮助您,或者对其进行配置以使其更容易实现。