scala - Scala中有什么方法可以将类代码拆分成多个文件吗?

标签 scala netbeans

我问这个问题有两个原因:
1.我想要更好的代码碎片,以方便每个功能级别的版本控制
2. 我患有注意力缺陷障碍,并且很难处理长代码,例如大类文件

为了解决这些问题,我曾经在 C++ 中使用 include 指令,在 C# 中使用部分类定义和手动定义的可折叠区域。 Scala 2.8 中有这样的东西吗?

我尝试在 NetBeans IDE 中使用编辑器折叠标记,但遗憾的是它在 Scala 编辑器中不起作用:-(

更新: 据我了解,Scala 中没有这样的设施。所以我想问:与 Scala 作者有任何联系的人,或者在他们的 Bugzilla 上有帐户(或者他们使用的任何东西)的人,向他们提出一个想法 - 他们可能应该考虑引入恕我直言,这样的东西(例如,我对 C# 区域和部分类很着迷,普通的旧包含看起来也像是一个方便的工具),通过简洁性使 Scala 变得更加美丽。

最佳答案

用特质来做怎么样?您可以这样定义它:

trait Similarity 
{
  def isSimilar(x: Any): Boolean
  def isNotSimilar(x: Any): Boolean = !isSimilar(x)
}

...然后你像这样使用它:

class Point(xc: Int, yc: Int) extends Similarity 
{
 var x: Int = xc
 var y: Int = yc
 def isSimilar(obj: Any) =
    obj.isInstanceOf[Point] &&
    obj.asInstanceOf[Point].x == x
}

如果类 Point 更大,您可以将其进一步拆分为特征,从而得到您想要的划分。但请注意,我认为这是不可取的,因为除非您已经牢记在心,否则很难很好地概述您的代码。然而,如果你能以一种很好的方式打破它,你也许能够从中得到一些很好的、可重用的 block ,所以最终它可能仍然值得做。

祝你好运!

关于scala - Scala中有什么方法可以将类代码拆分成多个文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3721196/

相关文章:

java - 在java中构建后无法读取文件

尝试在 netbeans 上运行应用程序时出现 java.lang.NullPointerException 错误

java - Junit + Netbeans : Doesn't find methods inside class for test

php - 使用 XDebug 和 Netbeans 调试 PHP 项目崩溃

scala - 如何将 scalatest 与 selenium 集成

scala - 使用scala在Spark中转置没有聚合的DataFrame

java - 如何解决scala中的无效日期格式错误?

java - Netbeans Plattform - 品牌不适用于创建的安装程序

scala - 玩! 2.0 Scala - 访问全局对象

scala - 如何在 Scala 中使用参数化特征的反射?