Scala の可変および不変の TreeMap と TreeSet の両方に、いくつかの便利な Implicit を追加したいと考えています。
これが私の試みです:
headOption
最初に/lastOption
(fromGenTraversableLike
) とfrom
/to
/until
(from )を持つ TreeMap と TreeSet の最小上限を定義してみてくださいSorted
:type SortedCollection[A, Repr <: SortedCollection[A, Repr]] = collection.generic.Sorted[A, Repr] with collection.GenTraversableLike[A, Repr]
私のユーティリティを書いてください:
implicit class RichSortedCollection[A, Repr <: SortedCollection[A, Repr]](s: SortedCollection[A, Repr]) { def greaterThanOrEqualTo(a: A): Option[A] = s.from(a).headOption def lessThan(a: A): Option[A] = s.until(a).lastOption def lessThanOrEqualTo(a: A): Option[A] = s.to(a).lastOption }
これは部分的にしか機能しません:SortedSet#greaterThan
コンパイルはしますが、TreeMap#greaterThan
しません。どうすれば修正できますか?