我正在寻找一种类似C(++)#if 0的方法,能够注释掉整个Scala源代码,以便暂时保留实验或过期代码.
我试了几个替代品,想听听你用的是什么,如果你想出更好的东西?
// Simply block-marking N lines by '//' is one way...
// <tags> """ anything
Run Code Online (Sandbox Code Playgroud)
我的编辑器让这很容易,但事实并非如此.它很容易与实际的单行注释混合在一起.
然后我想到了原生的XML支持,所以:
<!--
... did not work
-->
Run Code Online (Sandbox Code Playgroud)
包装在XML中有效,除非你<tags>在块中:
class none { val a= <ignore>
...
cannot have //<tags> <here> (not even in end-of-line comments!)
</ignore> }
Run Code Online (Sandbox Code Playgroud)
对于多行字符串来说,这似乎是最好的,但是有很多样板(在Scala中不是时髦的)来取悦编译器(如果你在一个类或一个对象中这样做,那就少了):
object none { val ignore= """ This seems like
...
<truly> <anything goes> but three "'s of course
""" }
Run Code Online (Sandbox Code Playgroud)
"正确"的方法可能是:
/***
/*
... works but not properly syntax highlighed in SubEthaEdit (or StackOverflow)
*/
***/
Run Code Online (Sandbox Code Playgroud)
..但相匹配的/*和*/唯一的,即不/***给***/.这意味着块内的注释需要平衡.而且 - SubEthaEdit的当前Scala语法突出显示模式在此失败了.
作为比较,Lua具有--[==[匹配]==]等等.我想我被宠坏了?
那么 - 我正在监督一些有用的技巧吗?
| 归档时间: |
|
| 查看次数: |
11930 次 |
| 最近记录: |