CL-USER> (defun list-append (L1 L2)
"Append L1 by L2."
(if (null L1)
L2
(cons (first L1) (list-append (rest L1) L2))))
LIST-APPEND
CL-USER> (list-append '(a b c) '(c d e))
(A B C C D E)
CL-USER> (trace list-append)
(LIST-APPEND)
CL-USER> (list-append '(a b c) '(c d e))
0: (LIST-APPEND (A B C) (C D E))
1: (LIST-APPEND (B C) (C D E))
2: (LIST-APPEND (C) (C D E))
3: (LIST-APPEND NIL (C D E))
3: LIST-APPEND returned (C D E)
2: LIST-APPEND returned (C C D E)
1: LIST-APPEND returned (B C C D E)
0: LIST-APPEND returned (A B C C D E)
(A B C C D E)
CL-USER>
Thứ Bảy, 20 tháng 10, 2012
Dùng hàm trace để quan sát kết quả chạy đệ quy
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét