Tôi mới làm quen với chương trình Đề án và muốn biết cách thêm một số trình kiểm tra lỗi vào chương trình này. Tôi muốn nó kiểm tra xem người dùng đã nhập nhiều tham số chưa và nếu người dùng có nhập thì tôi muốn nó báo rằng đó là lỗi.
(xác định (thứ ba lst)
(cond ((hoặc (null? lst) (null? (cdr lst))) lst)
((null? (cddr lst)) (danh sách (xe lst)))
(khác (nhược điểm (xe lst)
(phần ba (cdddr lst))))))
Trình thông dịch Đề án sẽ tự động kiểm tra điều này. Nếu bạn xác định một thủ tục lấy các tham số được truyền, bạn chỉ cần tự mình kiểm tra số lượng tham số, tức là.
(xác định (thứ ba . args)
...)
Bạn thường chỉ làm điều này nếu thủ tục có số lượng đối số thay đổi. Đối với các thủ tục có tham số tĩnh, chỉ cần liệt kê chúng trong định nghĩa và để trình thông dịch kiểm tra giúp bạn.
Nếu bạn thực sự muốn tự mình phát hiện điều này, bạn có thể làm điều này:
(xác định (thứ ba . args)
(if (= (độ dài đối số) 1)
(let ((lst (car args)))
(cond ... ; tất cả phần còn lại của mã của bạn
))
(hiển thị "Ồ đó là lỗi")))
Tôi là một lập trình viên xuất sắc, rất giỏi!