加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala中是否有任何方法可以将类代码拆分为多个文件?

发布时间:2020-12-16 18:46:33 所属栏目:安全 来源:网络整理
导读:我有两个理由要问: 1.我想要一个更好的代码碎片来促进每个功能级别的版本控制 我从一些注意力缺陷症中挣扎,我很难处理大类文件等长篇代码 为了解决这些问题,我曾经使用C语言中的include指令和部分类定义以及C#中可手动定义的可折叠区域. Scala 2.8中有没有
我有两个理由要问:
1.我想要一个更好的代码碎片来促进每个功能级别的版本控制
我从一些注意力缺陷症中挣扎,我很难处理大类文件等长篇代码

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

我试图在NetBeans IDE中使用editor-fold标签,但不幸的是它在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类更大,你可以将它进一步分解为traits,从而产生你想要的除法.但请注意,我不认为这是可取的,因为除非您已经深入了解,否则很难对代码进行良好的概述.但是,如果你能以一种很好的方式打破它,你可能会从中获得一些漂亮的,可重复使用的块,所以最后它可能仍然值得做.

祝你好运!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读