古い本を読んでいます
単純なスキーム: コンピューター サイエンスの紹介
ここで見つけることができます。
5 番目のセクションでは、次のような演算子である「セレクター」を紹介します。
(first 'abcd) ;-> A
(butfirst 'abcd) ;-> BCD
等々..
R6RSに似たようなものはありますか?(この演算子は定義されていないため)。
私のコメントによると、これはおそらくかなり難しいでしょう。
もう1つの側面は、SimplySchemeがシンボルを「文字列」と見なすことです。
その情報を使用して、次のように書くことができます。
(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では記号で大文字と小文字が区別されるため、結果はプロシージャに渡される大文字と小文字が同じになることに注意してください。