0
我還是Scala的新手,對包對象有疑問。類型定義的包對象
我有一個包com.pack.age.command
其中包含以下特點:
trait Command
case object Help extends Command
現在,我想定義一個函數來處理命令:
type CommandArgument = scala.Any
type CommandProcessor = Command => CommandArgument => Unit
我傾向於把這些類型定義成一個包對象。
package object command {
type CommandArgument = scala.Any
type CommandProcessor = Command => CommandArgument => Unit
}
的原因是,這些類型相同的所有命令,所以它看起來非常邏輯上給我。
但是在Scala中這樣做很常見嗎?
聲明類型別名用於上述目的是共同的,但使用'Any'不好。也許你最好在定義每個Command子類時爲CommandArgument使用一個類型參數。 – Naetmul
正如@Naetmul所說的「任何」類型都很可怕。看看下面關於'akka'的咆哮,我覺得這點很有教育意義:http://stew.vireo.org/posts/I-hate-akka/ – Yaneeve
@Naetmul其實我想用'Option [String] '作爲一個參數,但我想提供更一般的類型。 –