2
我想讓我的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'來定義它? – Debilski 2012-07-08 01:31:44
我找不到什麼':paste'的意思:(顯然,這與REPL有關,但我希望它能在REPL之外工作,當然 – 2012-07-08 01:32:14
只需鍵入REPL,然後複製並粘貼(或類型)'type'別名和'val'賦值之後,這是一個REPL-only問題,所以它在其他代碼中應該沒有問題。 – Debilski 2012-07-08 01:33:19