Kar*_*lek 3 scala companion-object
我想让我的Scala代码更具可读性,因此我为所有参数化类型添加了自定义类型.
所以我在包对象中,为简单起见,
type IntSeq = Seq[Int]
Run Code Online (Sandbox Code Playgroud)
但是,现在我不能apply在伴侣对象上做简单.来自REPL:
scala> IntSeq(1, 2, 3)
<console>:8: error: not found: value IntSeq
IntSeq(1, 2, 3)
^
Run Code Online (Sandbox Code Playgroud)
该怎么办?
(只是为了确保:我的实际别名对象比这更复杂Seq[Int])
编辑:有一个类似的问题 - Scala类型别名包括伴侣对象[初学者]
在这个问题上,有两个回复,两个都不起作用.
一个是使用apply定义我的自定义对象,但我不知道如何在我的情况下这样做,再加上它有点冗长.
另一个 - 写入val IntSeq = Seq会产生错误
警告:先前定义的特征Seq不是值IntSeq的伴侣.同伴必须一起定义; 您可能希望使用:粘贴模式.
第二个错误只是因为REPL的运行方式.在REPL中,必须使用:paste模式一起定义伴侣; 但是,在包对象中,这不是问题.
所以,另一种方法 - 写val IntSeq = Seq- 实际上会起作用.