0
我已經實現了一個方法withNameOption
,如果找不到具有特定名稱的枚舉成員,但返回None
,但我無法將其提取到一個特徵以用於該應用中的所有枚舉。目前,代碼如下所示:擴展枚舉
object FileType extends Enumeration with EnumUtils {
type FileType = Value
def withNameOption(name: String): Option[FileType] = try {
Some(withName(name))
} catch {
case _: NoSuchElementException => None
}
val scala, java, ruby = Value
}
使用this.type
儘可能不進行類型檢查。
是的,這正是我一直在尋找。我在哪裏可以讀到關於'thisenum:Enumeration =>'線的原因,這一切看起來都像魔術一樣? – synapse 2014-10-28 19:23:40
這似乎是我能夠快速找到的最好的東西:http://marcus-christie.blogspot.com/2014/03/scala-understanding-self-type.html – Nate 2014-10-28 20:13:54