Scala错误:类型存在,但它没有伴随对象

时间:2017-11-06 08:49:15

标签: scala user-defined-types companion-object

我在package.scala中定义了一个包对象内的类型,如下所示。

type Structure = List [(int, int)]

现在我想在abc.scala中的类中使用此结构,并单独获取列表的元素。 abc.scala和package.scala位于同一个文件夹(src / utility)中。

class abc (d: Structure) {
  val a = d._1
  val b = d._2
  ...................
  ...................
}

它编译,但我需要在另一个文件夹(测试)中尝试测试。我在测试代码中导入了包实用程序,如下所示。

import utility._
class test {
  val a = utility.Structure ((1, 2), (2, 5))
  ............................
  ............................
}

我收到以下错误:
对象结构不是包src.utility的成员 注意:类型结构存在,但它没有伴随对象。

如何定义该类型的伴随对象?我需要使用类abc中的类型。

1 个答案:

答案 0 :(得分:3)

所以,听起来你有这样的事情:

package src
package object utility {
  type Structure = List[(Int, Int)]
}

要获得所需内容,只需添加val Structure = List即可。所以,它看起来像这样:

package src
package object utility {
  type Structure = List[(Int, Int)]
  val Structure = List
}

现在,只要您导入包,Structure((1, 2))就会起作用。