いくつかのscalaツールを書いているので、私は自分のコードを配置するための最良の方法、特に暗黙的な方法を理解しようとしています。私は2つの目標を持っています:Scalaアプリケーションでimplicitsをどのように整理すればよいですか?
- 私は時々、私が求める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
他の誰もそれをする?
これに関する暗黙の意味は何ですか? –
私はその中のすべての 'def'ininitionsが暗黙的であると仮定しましたか? –
修正済み、ありがとうございました! –