Sử dụng môn phái và vị trí trong Scheme
Tôi đang cố gắng tìm hiểu sơ lược về FP, với sự trợ giúp của "Thuật toán cho lập trình chức năng". Ở chương 2, người viết giới thiệu các từ khóa sectvà <>. Một trong những quy trình trong cuốn sách sẽ là:
(define add1 (sect + <> 1))
Tôi đã sử dụng Repl.it để tính toán thủ tục. Nhưng đáng buồn thay, nó lại phát ra lỗi sau:
Error: execute: unbound symbol: "<>" []
Sau đó, tôi đã thử Racket, vì tôi đọc ở đây Repl.it sử dụng BiwaScheme không hỗ trợ đầy đủ bất kỳ tiêu chuẩn Đề án nào. Nhưng sau đó tôi gặp một lỗi khác:
sect: undefined;
cannot reference an identifier before its definition
Vậy tôi có đang làm gì sai không? Hoặc có trình soạn thảo / IDE nào khác mà tôi nên sử dụng không?
Trả lời
Tôi đã sai, cả hai sectvà <>không phải là từ khóa Đề án. Trong lời nói đầu, nó được đề cập là tác giả sử dụng (afp primitives)thư viện cho các thủ tục nguyên thủy và các phần mở rộng cú pháp. Bằng cách sử dụng thư viện này, bạn nhận được một loạt các thủ tục bổ sung tại nhà máy của bạn.
Bạn có thể tải về tại đây .
Vợt đi kèm với một add1chức năng; không cần phải xác định của riêng bạn.
Và nó hỗ trợ SRFI-26 cut , đó là secttên gọi khác, thông dụng hơn:
> (require srfi/26)
> ((cut + 1 <>) 2)
3