C나 자바에서와 같이 제스 에서는 반복문이 존재 한다.
foreach나 for문 while와 같은 함수가 말이죠.
1. foreach 함수는 일반리스트의 원소를 차례차례 한개씩 받아오는 함수이다.
첫번째줄에서 일반리스트를 선언해준뒤 두번째줄에서 카운터변수 ?num을 0으로 초기화 시켜주고 있다.
foreach 함수의 첫번째 변수인 ?data-list는 ?com-list의 원소값 한개를 받아와 저장하게 된다.
com-list의 원소가 nil이 아닐 동안 원소를 한개씩 받아오게 되는것이다.
[실행 결과 ]
2. for 함수
선형표기법을 쓴다 라는것을 빼면 말이죠
위의 소스는 간단하게 구구단 3단을 출력하는 소스입니다.
3. while 함수
while의 조건이 만족하는 동안 do 아래의 문장을 실행하게 됩니다.
[실행결과]
foreach나 for문 while와 같은 함수가 말이죠.
1. foreach 함수는 일반리스트의 원소를 차례차례 한개씩 받아오는 함수이다.
(bind ?com-list (create$ 모니터 본체 스피커))
(bind ?num 0)
(foreach ?data-list ?com-list
(printout t (++ ?num)" : " ?data-list crlf)
)
foreach 함수는 위와 같이 쓰인다.(bind ?num 0)
(foreach ?data-list ?com-list
(printout t (++ ?num)" : " ?data-list crlf)
)
첫번째줄에서 일반리스트를 선언해준뒤 두번째줄에서 카운터변수 ?num을 0으로 초기화 시켜주고 있다.
foreach 함수의 첫번째 변수인 ?data-list는 ?com-list의 원소값 한개를 받아와 저장하게 된다.
com-list의 원소가 nil이 아닐 동안 원소를 한개씩 받아오게 되는것이다.
[실행 결과 ]
1 : 모니터
2 : 본체
3 : 스피커
2 : 본체
3 : 스피커
2. for 함수
(for (bind ?i 0) (<= ?i 9) (++ ?i)
(printout t"3 *" ?i " = " (* 3 ?i) crlf)
)
for문의 형식은 씨언어나 자바와 비슷하다 다만 제스는 (printout t"3 *" ?i " = " (* 3 ?i) crlf)
)
선형표기법을 쓴다 라는것을 빼면 말이죠
위의 소스는 간단하게 구구단 3단을 출력하는 소스입니다.
3. while 함수
(bind ?num 1)
(while (<= ?num 9) do
(printout t "2 * " ?num " = "(* 2 ?num) crlf)
(++ ?num)
)
역시 형식은 자바와 비슷하죠?(while (<= ?num 9) do
(printout t "2 * " ?num " = "(* 2 ?num) crlf)
(++ ?num)
)
while의 조건이 만족하는 동안 do 아래의 문장을 실행하게 됩니다.
[실행결과]
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18