写了一些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