【发布时间】:2012-07-08 01:19:16
【问题描述】:
我想让我的 Scala 代码更具可读性,因此我为所有参数化类型添加了自定义类型。
所以为了简单起见,我在包中有对象,
type IntSeq = Seq[Int]
但是,现在我不能在伴生对象上做简单的apply。来自 REPL:
scala> IntSeq(1, 2, 3)
<console>:8: error: not found: value IntSeq
IntSeq(1, 2, 3)
^
怎么办?
(只是为了确保:我的实际别名对象比 Seq[Int] 更复杂)
编辑:有一个类似的问题 - Scala type alias including companion object [beginner]
关于那个问题,有两个回复,都没有工作。
一个是用 apply 定义我的自定义对象,但我不确定在我的情况下如何做到这一点,而且它有点冗长。
另一个-写val IntSeq = Seq会产生错误
警告:先前定义的特征 Seq 不是值 IntSeq 的伴侣。 必须一起定义同伴;您可能希望为此使用 :paste 模式。
【问题讨论】:
-
嗯,你试过用
:paste定义它吗? -
我找不到任何关于
:paste的含义的信息 :( 显然,这与 REPL 有关,但我当然也希望它在 REPL 之外工作 -
只需输入 REPL,然后复制并粘贴(或输入)
type别名和val分配。这是一个仅限 REPL 的问题,因此在其他代码中应该无关紧要。 -
哦,好吧,我明白了,这只是 REPL 的一个“问题”。好的。谢谢!