我在看一本旧书
简单的方案:介绍计算机科学
你可以在这里找到它。
第五部分介绍了“选择器”,操作符如下:
(first 'abcd) ;-> A
(butfirst 'abcd) ;-> BCD
等等..
R6RS中是否存在类似的东西?(因为未定义此运算符)。
根据我的评论,这可能会非常困难。
另一个方面是,Simply Scheme 将符号视为“字符串”。
使用该信息,您可以编写以下内容:
(define (first s)
(string->symbol (string (car (string->list (symbol->string s))))))
(define (butfirst s)
(string->symbol (apply string (cdr (string->list (symbol->string s))))))
另请注意,符号在 R6RS 中区分大小写,因此结果将与传递给过程的大小写相同。