在這個blogpost by James Iry,他寫道:將AnyRef放入選項的方法在哪裏?
此外,Scala有促進的值要麼有些(值)的「選項」法或無取決於它是否是空或不...
我似乎無法在scaladoc中的任何位置找到option
方法。
Iulian Dragos的gdata客戶端項目包含的方法可能是James所指的。
def option[A <: AnyRef](a: A): Option[A] =
if (a eq null) None else Some(a)
請指出我在哪裏可以在scaladoc中找到此方法。
P.S.我有一個看起來像這樣的方法:
def permutations(s: String): List[String] = ...
在我心目中2我爲我是否應該將其更改爲:
def permutations(s: Option[String]): List[String] = ...
,因爲客戶端可以與null
調用它。目前在第一個實例中,我期望使用前面提到的option
方法手動將其裝入一個字符串參數&。
我注意到現在這個問題已經在這裏得到了解答:http://stackoverflow.com/questions/2105852/does-scala-have-a-library-method-to-wrap-nullable-return-values-in -an-option – 2011-02-07 07:02:22
這是我的文章中的錯誤。我會解決它。正如其他人寫的,這是對Option的應用方法,所以慣用代碼看起來像「修復」 – 2011-02-07 16:08:36