티스토리 뷰

예제 대화문


시간, 날짜, 요일, 연도 등에 관한 값은 시스템이 직접 관리하고 있기 때문에 필요할 경우 시스템에 물어보면 된다.

 

u: ( 몇 시에요 ) 지금 %hour : %minute 이에요

u: ( 몇 시에요 ) %time 에요

u: ( 오늘 * [요일 며칠] ) 오늘은 %monthname %day %date 입니다.

 

그런데 시스템 변수는 숫자 값만 주기 때문에 위의 출력문은 다음과 같이 출력된다.

 

지금 15: 28 이에요.

15:28 에요

오늘은 April 15 Thursday 입니다

 

위의 출력문을 “1528”, “Thursday입니다등과 같이 시간 단위를 붙이고 띄어쓰기도 가다듬기 위해 시스템 변수에 시간 단위나 종결 조사를 붙여 쓰면 오류가 난다. “%hour%minute이라고 쓰면, CS“%hour라는 시스템 변수와 “%minute이라는 시스템 변수를 찾으려 하는데 그런 변수는 없으므로 에러가 발생하기 때문이다. 이때는 join함수를 활용하면 된다.

 

t: 지금 시각은 ^join(%hour ) ^join(%minute ) 이에요.

 

join함수는 괄호 안에 포함된 인수들을 빈칸없이 합쳐서 하나의 문자열로 만드는 함수이다.위의 출력문은 지금 시각은 2035분 이에요가 될 것이다. 만약 12시간 단위로 나눠서 보여 주고 싶다면 %hour12로 나누어서 나머지 값을 출력해 주면 된다.

 

$tmp = ^compute(%hour mod 12)

t: 지금 시각은 ^join($tmp ) ^join(%minute ) 입니다.

 

출력문은 지금 시각은 835분 입니다가 될 것이다.

아래에 날짜, 시간, 요일 등과 관련되어 자주 사용할 수 있을 시스템 변수를 정리하였다.[1]

시간 날짜와 관련된 시스템 변수





[1] 시스템 변수에 관한 완전한 목록은 소스화일과 함께 딸려 오는 문서 중 System variables and Engine-defined Concepts.pdf 에 있다.



댓글
댓글쓰기 폼