이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
송수현
가입: 2006년 9월 4일 올린 글: 25
|
올려짐: 2006년10월30일 21:18 주제: dissolveCbr에 대한 가벼운 테스트 프로그램 |
|
|
코드: | let z := 1
in
let procedure addone(x) =
x := x + z;
x
in
let z := 4
in
let procedure complex(x) =
let procedure multix(y) =
let x := 3
in
write(x * y + z) /* print 3*y + 4 */
end;
x * y /* return x * y */
in
x := call multix(10) + x; /* x = 10 * x + x */
x - 10 /* return 11x - 10 */
end
in
let x := 20
in
write(call complex<x>); /* print 34<br>210, x = 220 */
write(call addone(x)); /* print 221, x = 220 */
write(call addone<x>); /* print 221, x = 221 */
write(x) /* print 221 */
end
end
end
end
end |
신들린듯 만들어보고 나니 왜 이렇게 만들었는지는 전혀 기억 안나구요;
저는 이걸로 에러 하나 건져서 고쳤네요.
허접한 테스트 프로그램이지만, 다른분들도 득을 보셨으면 좋겠군요.
에러가 있었으면 좋겠다는 말은 아니구요;;
이제 양껏 오류를 뱉는 2번 손보러 갑니다... |
|
위로 |
|
|
장민석
가입: 2006년 9월 5일 올린 글: 165
|
올려짐: 2006년10월30일 22:40 주제: |
|
|
음..이건 잘 돌아가네요.
감사합니다
근데 for문 문제는 아직도 엄두가 안 나네요.;; |
|
위로 |
|
|
이준희
가입: 2006년 9월 18일 올린 글: 43
|
올려짐: 2006년10월31일 0:18 주제: |
|
|
코드: |
let z := 1
in
let procedure addone(x) =
x := x + z;
x
in
let z := 4
in
let procedure complex(x) =
let procedure multix(y) =
let procedure abcd(t) =
let x := 3
in
write(x * y + z) /* print 3*y + 4 */
end;
x * y /* return x * y */
in
write 1
end;
z
in
x := call multix<x> + x; /* x = 10 * x + x */
x - 10 /* return 11x - 10 */
end
in
let x := 20
in
write(call complex<x>); /* print 34<br>210, x = 220 */
write(call addone(x)); /* print 221, x = 220 */
write(call addone<x>); /* print 221, x = 221 */
write(x) /* print 221 */
end
end
end
end
end |
위 코드 개조판입니다.
.........괴상망칙한 코드를 조금 덧붙였습니다.
Result:
좋은 테스트 셋 제공해주신 송수현님께 감사드려요. _________________ ... |
|
위로 |
|
|
|