我正在寻找一种类似于 C(++)#if 0
的方式来注释掉整个 Scala 源代码,以便在一段时间内保留实验性或过期代码。
我尝试了几种替代方法,想听听您使用的是什么,以及您是否想出了更好的方法?
// Simply block-marking N lines by '//' is one way...
// <tags> """ anything
我的编辑器使这很容易,但这并不是真正的事情。它很容易与实际的单行注释混合。
然后我认为有原生 XML 支持,所以:
<!--
... did not work
-->
包装在 XML 中是有效的,除非你<tags>
在块中:
class none { val a= <ignore>
...
cannot have //<tags> <here> (not even in end-of-line comments!)
</ignore> }
对于多行字符串来说,这似乎是最好的,但是有很多样板文件(在 Scala 中并不流行)来取悦编译器(如果你在一个类或一个对象中这样做,那就更少了):
object none { val ignore= """ This seems like
...
<truly> <anything goes> but three "'s of course
""" }
这样做的“正确”方法可能是:
/***
/*
... works but not properly syntax highlighed in SubEthaEdit (or StackOverflow)
*/
***/
/*
..但这与and only匹配,而*/
不是 ie /***
to ***/
。这意味着需要平衡块内的注释。并且 - SubEthaEdit 当前的 Scala 语法高亮模式在这方面失败了。
作为比较,Lua有--[==[
匹配]==]
等等。我觉得我被宠坏了?
那么 - 我正在监督一些有用的技巧吗?