2017-03-14 2 views
2

ScalaZネオファイトからの質問はこちら。 私はかなりどのように理解していない:スカラジの行動が理解できない

1.some 

または論理和関連:

"Success!".right 

作品。 上記の動作を可能にする暗黙的な変換は見つかりません。 私はそれらの使い方を知っていますが、私はその実装に興味があります。 ありがとうございます。

答えて

3

方法someを含むクラスを使用すると、定義の中を見ると、あなたが形質定義の中OptionIdOpsへの任意のタイプAために利用可能な追加の暗黙のを見ることができますOptionIdOps

final class OptionIdOps[A](self: A) { 
    def some: Option[A] = Some(self) 
} 

です:

trait ToOptionIdOps { 
    implicit def ToOptionIdOps[A](a: A) = new OptionIdOps(a) 
} 

実際には、コンパイラは以下を実行します。

val someOfInt = new OptionIdOps(1).some 
+1

ありがとうございますYuval、いつものようにあなたの答えは非常に有益です – Adrian

関連する問題