Method: When::TM::Instant#distance

Defined in:
lib/when_exe/tmobjects.rb

#distance(other) ⇒ When::TM::Duration

他のWhen::TM::GeometricPrimitiveとの時間位置の差の絶対値

Parameters:

Returns:



199
200
201
202
203
204
205
206
207
208
209
210
# File 'lib/when_exe/tmobjects.rb', line 199

def distance(other)
  case other
  when Instant
    return (self.position - other.position).abs
  when Period
    verify = other.begin.position - self.position
    return verify if verify.sign >= 0
    return [self.position - other.end.position, When::TM::PeriodDuration.new(0,When::DAY)].max
  else
    raise TypeError, "The right operand should be When::TM::Instant or When::TM::Period"
  end
end