Tôi đã bắt đầu học chương trình, phần lớn là vui, và vì trước đây tôi chưa bao giờ sử dụng một ngôn ngữ chức năng. Tôi đã chọn Đề án vì tôi muốn đọc SICP trong một thời gian dài.Tại sao việc sử dụng khuyết điểm để tạo một cặp hai danh sách tạo ra một danh sách và hai phần tử?
Dù sao, tôi hiện đang tìm hiểu về danh sách và trước đó tôi đã học về khuyết tật, ô tô và cdr. Và có một ví dụ tạo danh sách các danh sách có khuyết điểm, như sau:
(cons (list 1 2) (list 3 4))
Danh sách kết quả là ((1 2) 3 4), điều này không có ý nghĩa với tôi, tôi mong đợi ((1 2) (3 4)) là kết quả (danh sách được tạo thành từ hai danh sách). Tại sao nó cư xử như thế? Tôi nhận ra rằng nếu tôi đã sử dụng xe hơi, tôi sẽ nhận được (1 2), và cdr tôi nhận được (3 4) becaue cdr luôn luôn trả về "phần còn lại", nhưng tôi không hiểu tại sao danh sách không được thực hiện của hai danh sách?
Câu hỏi này hơi khác một chút, nhưng câu trả lời chính xác trả lời câu hỏi của bạn: http://stackoverflow.com/questions/2921912/in-sicp-exercise-2-26-using-drscheme-why-does-cons-return -a-list-instead-of-ap –
tại sao bạn sẽ tạo danh sách với CONS khi bạn tạo danh sách bằng LIST trước đây? Tại sao không gắn bó với việc sử dụng DANH SÁCH để tạo danh sách? CONS không làm giống như LIST - đó cũng là lý do tại sao chúng là các hàm khác nhau. –
Đó là một bài tập trong SICP – fingerprint211b