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型エイリアス[初心者]
その質問には 2 つの回答があり、どちらも機能していません。
1 つは、apply を使用してカスタム オブジェクトを定義することですが、私の場合はそれを行う方法がわかりません。さらに、少し冗長です。
もう一方 - 書き込むval IntSeq = Seq
とエラーが発生します
警告: 以前に定義された特性 Seq は、値 IntSeq のコンパニオンではありません。コンパニオンはまとめて定義する必要があります。これには :paste モードを使用することをお勧めします。