寫了一些scala工具後,我試圖去掌握安排我的代碼的最佳方式 - 特別是含義。我有2個進球:我應該如何在我的Scala應用程序中組織暗示?
- 有時,我想能夠導入我所要求的暗示。
- Othertimes,我想只導入一切。
爲了避免重複implicits,我想出了這個結構(類似的方式scalaz安排):
case class StringW(s : String) {
def contrived = s + "?"
}
trait StringWImplicits {
implicit def To(s : String) = StringW(s)
implicit def From(sw : StringW) = sw.s
}
object StringW extends StringWImplicits
// Elsewhere on Monkey Island
object World extends StringWImplicits with ListWImplicits with MoreImplicits
這使我只是
import StringW._ // Selective import
或(在大多數情況下)
import World._. // Import everything
其他人都這樣做?
什麼是任何有關這'implicit'? – 2009-08-13 06:15:00
我認爲其中的所有def定義應該是隱含的? – 2009-08-13 12:20:23
現在修復,謝謝! – 2009-08-13 21:31:47