Duration — 시간의 길이

Duration — 시간의 길이

시각(instant)이 "언제"를 다룬다면, 시간의 "길이"는 어떻게 표현할까요? 그 역할을 하는 타입이 Duration이에요. 특정 시점에 묶이지 않고 순수하게 시간 간격만 담는 타입이라, Instant와 자유롭게 더하고 빼며 새로운 시각을 만들 수 있어요.

출처: Raku Documentation — Duration

본문

class Duration is Cool does Real { }

Duration은 초 단위(원자 초, atomic seconds)에 분수까지 담아 시간의 길이를 나타내요. Instant처럼 특정 epoch(기준 시점)에 묶이지 않아요.

DurationInstant에서 빼거나 더해 새로운 Instant를 만들 수 있어요. 반대로 Instant끼리 빼면 Duration이 나와요. 의미가 통하는 수학 연산(두 Duration의 덧셈·뺄셈·나머지)의 결과로도 Duration이 만들어지고요. 또 Real 숫자와도 더하거나 빼거나 나머지를 구할 수 있어요.

다른 숫자 연산이 반환하는 객체의 타입은 현재 명세되어 있지 않아요.

출처: Raku Documentation — Duration