gpt4 book ai didi

scala - 注释掉Scala中的部分代码

转载 作者:行者123 更新时间:2023-12-03 16:07:56 25 4
gpt4 key购买 nike

我正在寻找一种类似于C(++)#if 0的方式,能够注释掉整个Scala源代码,以使实验性代码或过期代码保持一段时间。

我尝试了几种替代方法,想听听您使用的是什么,如果您想出更好的方法呢?

// Simply block-marking N lines by '//' is one way... 
// <tags> """ anything

我的编辑器使此操作变得容易,但实际上并非如此。它很容易与实际的单行注释混合在一起。

然后我发现有 native XML支持,因此:
<!-- 
... did not work
-->

除非您在块中包含 <tags>,否则使用XML进行包装即可:
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)
*/
***/

..但仅匹配 /**/,而不是 /******/匹配。这意味着该块中的注释需要平衡。并且-SubEthaEdit的当前Scala语法突出显示模式在此方面失败了。

作为比较, Lua具有与 --[==[匹配的 ]==]等。我觉得我宠坏了吗?

所以-我要监督一些有用的技巧吗?

最佳答案

为什么不仅仅利用您的源代码控制机制?使代码分开,将其作为单独的文件 checkin ,然后将其忘记。我不想让我的日常代码库挤满这种东西。

但是请注意,如果您不定期使用此代码(例如在自动化测试等中),则会遭受code rot的困扰。一旦您注释掉了或以其他方式搁置了这些内容,依赖项就会继续存在,您会发现它很快就不会链接到现有的代码库。

关于scala - 注释掉Scala中的部分代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13631038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com