1

我在看一本旧书

简单的方案:介绍计算机科学

你可以在这里找到它。

第五部分介绍了“选择器”,操作符如下:

(first 'abcd) ;-> A
(butfirst 'abcd) ;-> BCD

等等..

R6RS中是否存在类似的东西?(因为未定义此运算符)。

4

1 回答 1

3

根据我的评论,这可能会非常困难。

另一个方面是,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 中区分大小写,因此结果将与传递给过程的大小写相同。

于 2012-08-18T10:08:44.683 回答