7
A
答えて
12
いいえ、バインドコンテキストは、実際に余分な暗黙のパラメータの省略形ですので。例えば
:
def sort[A : Ordering](xs: Seq[A])
が
def sort[A](xs: Seq[A])(implicit ordering: Ordering[A])
ための短縮形であり、これは型定義で表現できません。
12
コンテキストが型宣言に直接バインドされるのではなく、JPPが示す暗黙のパラメータを表す別の値宣言を持つ必要があります。
trait Generic {
type U
implicit val ordering: Ordering[U] // evidence for U: Ordering
def max(u1: U, u2: U) = List(u1, u2).max
}
def concrete[T: Ordering] = new Generic {
type U = T
val ordering = implicitly[Ordering[T]]
}
assert(concrete[Int].max(1,3) == 3)
+2
これが受け入れられる回答である必要があります –
関連する問題
- 1. VB.NETでタイプエイリアスを適用する
- 2. タイプエイリアスを使用して関数を宣言する
- 3. フローでタイプエイリアスを介してインターフェイスを使用するのはいつですか?
- 4. タイプエイリアスのエイリアス
- 5. フローjsを使用して、タイプエイリアスはどこで保持しますか?
- 6. Scalaでコンテキストバインドされたものと暗黙のものを使用するかどうか
- 7. タイプエイリアス内の分散アノテーション
- 8. タイプエイリアスとタイプlambdaの区別
- 9. Scala:タイプエイリアスと上限のタイプマッチング
- 10. タイプエイリアスで不明確なリストを宣言する
- 11. クラス内でタイプエイリアスを使用しているときに "コンストラクタを解決できません"
- 12. Unityでは、タイプエイリアスからタイプを解決できますか?
- 13. タイプエイリアスの打ち文字タイプの交差
- 14. systemjs.d.tsにタイプエイリアスに関するコンパイルエラーがあります
- 15. 部分関数を使用してScalaのSetモデルを作成します。タイプエイリアス:Set = Int => Boolean
- 16. スカラ型システム - タイプエイリアスの不一致を理解するのに役立ちます
- 17. タイプエイリアスのインスタンスを作成すると、「クラスタイプが必要です」というエラーが発生します
- 18. コンポーネントとpropsタイプエイリアスを同時にインポートするにはどうすればいいですか?
- 19. Androidでデータを使用するライブラリをCursorAdapterで使用する
- 20. LaravelでOUTパラメータを使用するストアドプロシージャを使用する
- 21. Matlabで最小円を使用するfminsearchを使用する
- 22. ListBoxでDataTemplateを使用するアイテムにDoubleClickを使用する
- 23. Perlを使用するWWW :: Mechanizeをローカルファイルで使用する
- 24. StarlingフレームワークをネイティブDisplayObjectを使用するクラスで使用する
- 25. sys_refcursorで内部プロシージャを使用するOracleを使用する
- 26. サイドメニューをionicで使用するnav.pushを使用する2
- 27. Railsでパーシャルを使用するブートストラップスタイルを使用する
- 28. Highland.jsでフィルタを使用する(DBを使用する)
- 29. ココアポッドを使用するswift 2.3プロジェクトでXcode8を使用する
- 30. @Asyncアノテーションを使用するメソッドでSpring4 AsyncRestTemplateを使用する
ありがとう:タイプを定義する誰
もバインドコンテキストのための証拠を提供する必要があります。意味あり。 –