Tôi vừa mới bắt đầu học Common Lisp - và nhanh chóng yêu thích nó - và tôi vừa chuyển sang hệ thống kiểu. Tôi dường như đang phát triển một sự yêu thích đặc biệt cho lập trình ứng dụng.Lập trình ứng dụng và các loại lisp phổ biến
Như tôi đã hiểu, trong chuỗi và danh sách CL là cả hai chuỗi, nhưng dường như không có bất kỳ hàm chuẩn nào để ánh xạ qua một chuỗi, chỉ các danh sách. Tôi có thể thấy lý do tại sao họ sẽ được cung cấp cho danh sách, những gì với họ là datatype cơ bản và tất cả, nhưng tại sao nó không được thiết kế để làm việc với các trình tự? Vì chúng là loại tổng quát hơn, có vẻ hữu ích hơn khi nhắm mục tiêu các hàm ứng dụng vào chúng thay vì danh sách. Hay tôi hoàn toàn hiểu lầm cách nó hoạt động?
Edit:
Những gì tôi đã cảm thấy đặc biệt là nhầm lẫn về là cách mà chuỗi - trừu tượng - và danh sách - một thực hiện - dường như rối tung cả lên ở CL. Sự đồng thuận dường như là vì lý do lịch sử; lisp đã được khoảng thời gian quá lâu mà bạn có thể khá nhiều bản đồ ra sự phát triển của thực hành kỹ thuật phần mềm thông qua các chức năng và các macro của nó; chức năng nào áp dụng cho các chuỗi và danh sách có vẻ tùy ý ngay từ cái nhìn đầu tiên vì CL có một hỗn hợp các hàm trừu tượng trước chuỗi chỉ hoạt động trên các danh sách và các hàm hoạt động tương tự theo cách tổng quát hơn trên các chuỗi. Là một người chỉ học CL vào lúc này, tôi nghĩ sẽ hữu ích nếu các tác giả giới thiệu các chuỗi đầu tiên như là sự trừu tượng rõ ràng hơn, và sau đó mua trong danh sách như là sự thực hiện cơ bản nhất của sự trừu tượng đó. Danh sách vẫn sẽ cần thiết như cú pháp của khóa học, nhưng do thời gian nó là cần thiết để nhà nước này rõ ràng nhiều độc giả đã có thể làm việc này ra một mình, mà sẽ được khá một bản ngã tăng khi bắt đầu.
COUNT, TÌM, XÓA hoạt động tốt hơn các chuỗi. Kiểm tra từ điển trình tự của tiêu chuẩn ANSI CL. –
Rất tốt, bạn biết gì? Nói một chút trước tôi ở đó. Cảm ơn! –
Bạn có thể đã nói trước chính mình, nhưng bạn đã cho tôi câu trả lời tôi cần. Những gì tôi đã nhầm lẫn là lý do tại sao sự trừu tượng giữa các trình tự như trường hợp chung và danh sách như việc thực hiện dường như rất lộn xộn trong CL; bây giờ tôi biết đó là vì lý do lịch sử. Cảm ơn! –