org.sisioh.baseunits.scala.intervals

Interval

class Interval[T] extends Serializable

「区間」を表すクラス。

閉区間とは、lower <= x <= upperであらわされる区間であり、 開区間とは、lower < x < upperであらわされる区間である。 どちらか一方のみが <= で、他方が < である場合は、半開区間と言う。

The rules of this class are consistent with the common mathematical definition of "interval". For a simple explanation, see http://en.wikipedia.org/wiki/Interval_(mathematics)

Interval (and its "ConcreteInterval" subclass) can be used for any objects that have a natural ordering reflected by implementing the Comparable interface. For example, Integer implements Comparable, so if you want to check if an Integer is within a range, make an Interval. Any class of yours which implements Comparable can have intervals defined this way.

T

区間要素の型

Linear Supertypes
Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Interval
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Interval(lower: LimitValue[T], isLowerClosed: Boolean, upper: LimitValue[T], isUpperClosed: Boolean)(implicit arg0: (T) ⇒ Ordered[T])

    インスタンスを生成する。

    インスタンスを生成する。

    lower

    下側限界値. org.sisioh.baseunits.scala.intervals.Limitlessの場合は、限界がないことを表す

    isLowerClosed

    下限値が閉区間である場合は trueを指定する

    upper

    上側限界値. org.sisioh.baseunits.scala.intervals.Limitlessの場合は、限界がないことを表す

    isUpperClosed

    上限値が閉区間である場合は trueを指定する

    Exceptions thrown
    IllegalArgumentException

    下限値が上限値より大きい場合

  2. new Interval(lower: IntervalLimit[T], upper: IntervalLimit[T])(implicit arg0: (T) ⇒ Ordered[T])

    lower

    下側限界

    upper

    上側限界

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def complementRelativeTo(other: Interval[T]): Seq[Interval[T]]

    この区間の区間と与えた区間 other の共通部分を返す。

    この区間の区間と与えた区間 other の共通部分を返す。

    この区間と与えた区間に共通部分がない場合は、 other を要素とする要素数1の区間列を返す。 与えた区間が、この区間を完全に内包する場合は、2つの区間に分かれるため、要素数が2の区間列を返す。 逆にこの区間が、与えた区間を完全に内包する場合は、要素数0の区間列を返す。 上記以外の場合、この区間の補区間と与えた区間の共通部分を要素とする要素数1の区間列を返す。

    other

    対照となる区間

    returns

    補区間と対照区間の共通部分のリスト

    See also

    complement (wikipedia)

  9. def covers(other: Interval[T]): Boolean

    この区間が、指定した区間 otherを完全に内包するかどうかを検証する。

    この区間が、指定した区間 otherを完全に内包するかどうかを検証する。

    other

    区間

    returns

    完全に内包する場合はtrue、そうでない場合はfalse

  10. lazy val emptyOfSameType: Interval[T]

    この区間と同じ限界値を持つ、新しい開区間を生成する。

    この区間と同じ限界値を持つ、新しい開区間を生成する。

    returns

    新しい開区間

  11. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  12. def equals(obj: Any): Boolean

    この区間と、与えた区間 otherの同一性を検証する。

    この区間と、与えた区間 otherの同一性を検証する。

    両者が共に空の区間であった場合はtrue、どちらか一方のみが空の区間であった場合はfalseを返す。 両者とも単一要素区間であった場合は、単一要素となる限界値同士を比較し、一致した場合はtrueを返す。 また、どちらか一方のみが単一要素区間であった場合はfalseを返す。

    otherInterval以外であった場合は、必ずfalseを返す。

    obj

    比較対象の区間

    returns

    同一である場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval → AnyRef → Any
  13. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def gap(other: Interval[T]): Interval[T]

    この区間と与えた区間 other の間にある区間を取得する。

    この区間と与えた区間 other の間にある区間を取得する。

    例えば、[3, 5) と [10, 20) の gap は、[5, 19) である。 2つの区間が共通部分を持つ場合は、空の区間を返す。

    other

    比較対象の区間

    returns

    ギャップ区間

  15. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  16. val hasLowerLimit: Boolean

    下側限界があるかどうかを取得する。

    下側限界があるかどうかを取得する。

    Warning: This method should generally be used for display purposes and interactions with closely coupled classes. Look for (or add) other methods to do computations.

    警告:このメソッドは一般的に、この値の表示目的および、このクラスと結合度の高いクラスとの インタラクションに使用する。不用意なこのメソッドの使用は、このクラスとクライアント側のクラスの 結合度をいたずらに高めてしまうことを表す。この値を計算に使用したい場合は、他の適切なメソッドを探すか、 このクラスに新しいメソッドを追加することを検討すること。

    returns

    下側限界がある場合はtrue、そうでない場合はfalse

  17. val hasUpperLimit: Boolean

    上側限界があるかどうかを取得する。

    上側限界があるかどうかを取得する。

    Warning: This method should generally be used for display purposes and interactions with closely coupled classes. Look for (or add) other methods to do computations.

    警告:このメソッドは一般的に、この値の表示目的および、このクラスと結合度の高いクラスとの インタラクションに使用する。不用意なこのメソッドの使用は、このクラスとクライアント側のクラスの 結合度をいたずらに高めてしまうことを表す。この値を計算に使用したい場合は、他の適切なメソッドを探すか、 このクラスに新しいメソッドを追加することを検討すること。

    returns

    上側限界がある場合はtrue、そうでない場合はfalse

  18. def hashCode(): Int

    Definition Classes
    Interval → AnyRef → Any
  19. def includes(value: LimitValue[T]): Boolean

    指定した値 value が、この区間に含まれるかどうかを検証する。

    指定した値 value が、この区間に含まれるかどうかを検証する。

    value

    returns

    含まれる場合はtrue、そうでない場合はfalse

  20. val includesLowerLimit: Boolean

    下側限界が閉じているかどうかを取得する。

    下側限界が閉じているかどうかを取得する。

    Warning: This method should generally be used for display purposes and interactions with closely coupled classes. Look for (or add) other methods to do computations.

    警告:このメソッドは一般的に、この値の表示目的および、このクラスと結合度の高いクラスとの インタラクションに使用する。不用意なこのメソッドの使用は、このクラスとクライアント側のクラスの 結合度をいたずらに高めてしまうことを表す。この値を計算に使用したい場合は、他の適切なメソッドを探すか、 このクラスに新しいメソッドを追加することを検討すること。

    returns

    下側限界が閉じている場合はtrue、そうでない場合はfalse

  21. val includesUpperLimit: Boolean

    上側限界が閉じているかどうかを取得する。

    上側限界が閉じているかどうかを取得する。

    Warning: This method should generally be used for display purposes and interactions with closely coupled classes. Look for (or add) other methods to do computations.

    警告:このメソッドは一般的に、この値の表示目的および、このクラスと結合度の高いクラスとの インタラクションに使用する。不用意なこのメソッドの使用は、このクラスとクライアント側のクラスの 結合度をいたずらに高めてしまうことを表す。この値を計算に使用したい場合は、他の適切なメソッドを探すか、 このクラスに新しいメソッドを追加することを検討すること。

    returns

    上側限界値が閉じている場合はtrue、そうでない場合はfalse

  22. def intersect(other: Interval[T]): Interval[T]

    この区間と与えた区間 other の積集合(共通部分)を返す。

    この区間と与えた区間 other の積集合(共通部分)を返す。

    共通部分が存在しない場合は、空の区間を返す。

    other

    比較対象の区間

    returns

    積集合(共通部分)

  23. def intersects(other: Interval[T]): Boolean

    この区間と、与えた区間otherの間に共通部分が存在するかどうか検証する。

    この区間と、与えた区間otherの間に共通部分が存在するかどうか検証する。

    other

    対象区間

    returns

    共通部分が存在する場合はtrue、そうでない場合はfalse

  24. def isAbove(value: LimitValue[T]): Boolean

    指定した値 value が、この区間の下側限界を超過していないかどうかを検証する。

    指定した値 value が、この区間の下側限界を超過していないかどうかを検証する。

    value

    returns

    超過していない場合はtrue、そうでない場合はfalse

  25. def isBelow(value: LimitValue[T]): Boolean

    指定した値 value が、この区間の上側限界を超過していないかどうかを検証する。

    指定した値 value が、この区間の上側限界を超過していないかどうかを検証する。

    value

    returns

    超過していない場合はtrue、そうでない場合はfalse

  26. def isClosed: Boolean

    この区間が閉区間であるかどうかを検証する。

    この区間が閉区間であるかどうかを検証する。

    returns

    閉区間である場合はtrue、そうでない場合(半開区間を含む)はfalse

  27. def isEmpty: Boolean

    この区間が空であるかどうかを検証する。

    この区間が空であるかどうかを検証する。

    区間が空であるとは、上側限界値と下側限界値が同値であり、かつ、開区間であることを示す。 例えば 3 < x < 3のような状態である。

    returns

    空である場合はtrue、そうでない場合はfalse

  28. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  29. def isOpen: Boolean

    この区間が開区間であるかどうかを検証する。

    この区間が開区間であるかどうかを検証する。

    returns

    開区間である場合はtrue、そうでない場合(半開区間を含む)はfalse

  30. def isSingleElement: Boolean

    この区間が単一要素区間であるかどうかを検証する。 単一要素区間は、上側下側の両限界を持ち、さらにそれらの限界値が同値であり、かつ、開区間ではないことを示す。 例えば 3 <= x < 3, 3 < x <= 3, 3 <= x <= 3のような状態である。

    この区間が単一要素区間であるかどうかを検証する。 単一要素区間は、上側下側の両限界を持ち、さらにそれらの限界値が同値であり、かつ、開区間ではないことを示す。 例えば 3 <= x < 3, 3 < x <= 3, 3 <= x <= 3のような状態である。

    returns

    単一要素区間である場合はtrue、そうでない場合はfalse

  31. def lowerLimit: LimitValue[T]

    下側限界値を取得する。

    下側限界値を取得する。

    Warning: This method should generally be used for display purposes and interactions with closely coupled classes. Look for (or add) other methods to do computations.

    警告:このメソッドは一般的に、この値の表示目的および、このクラスと結合度の高いクラスとの インタラクションに使用する。不用意なこのメソッドの使用は、このクラスとクライアント側のクラスの 結合度をいたずらに高めてしまうことを表す。この値を計算に使用したい場合は、他の適切なメソッドを探すか、 このクラスに新しいメソッドを追加することを検討すること。

    returns

    下側限界値. 限界がない場合は、org.sisioh.baseunits.scala.intervals.Limitless

  32. val lowerLimitObject: IntervalLimit[T]

  33. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  34. def newOfSameType(lower: LimitValue[T], lowerClosed: Boolean, upper: LimitValue[T], upperClosed: Boolean): Interval[T]

    この区間と同じ型Tを持つ、新しい区間を生成する。

    この区間と同じ型Tを持つ、新しい区間を生成する。

    lower

    下側限界値. 限界値がない場合は、org.sisioh.baseunits.scala.intervals.Limitless

    lowerClosed

    下限値を区間に含む(閉じた下側限界)場合はtrueを指定する

    upper

    上側限界値. 限界値がない場合は、org.sisioh.baseunits.scala.intervals.Limitless

    upperClosed

    上限値を区間に含む(閉じた上側限界)場合はtrueを指定する

    returns

    新しい区間

  35. final def notify(): Unit

    Definition Classes
    AnyRef
  36. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  37. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  38. def toString(): String

    区間の文字列表現を取得する。

    区間の文字列表現を取得する。

    空の区間である場合は "{}", 単一要素区間である場合は "{x}"を返す。 また、例えば 3〜5 の開区間である場合は "(3, 5)"、閉区間である場合は "[3, 5]"、 半開区間であれば "[3, 5)" または "(3, 5]" の様に、開いた限界を "()"、 閉じた限界を "[]" で表現する。

    Definition Classes
    Interval → AnyRef → Any
    See also

    java.lang.Object#toString()

  39. def upperLimit: LimitValue[T]

    上側限界値を取得する。

    上側限界値を取得する。

    Warning: This method should generally be used for display purposes and interactions with closely coupled classes. Look for (or add) other methods to do computations.

    警告:このメソッドは一般的に、この値の表示目的および、このクラスと結合度の高いクラスとの インタラクションに使用する。不用意なこのメソッドの使用は、このクラスとクライアント側のクラスの 結合度をいたずらに高めてしまうことを表す。この値を計算に使用したい場合は、他の適切なメソッドを探すか、 このクラスに新しいメソッドを追加することを検討すること。

    returns

    上側限界値. 限界がない場合は、org.sisioh.baseunits.scala.intervals.Limitless

  40. val upperLimitObject: IntervalLimit[T]

  41. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped