方案中的(车辆清单)类型

时间:2012-03-18 13:38:20

标签: scheme racket

如果我在这样的方案中定义一个列表

(define list '(when i type I 1 23 4 2))

什么类型的东西(汽车清单)返回?另一个问题是:我可以将其转换为字符串吗?

1 个答案:

答案 0 :(得分:5)

在问题中显示的列表中,汽车是符号 'when。您可以验证它,但首先让我们将列表的名称更改为其他名称,以避免与内置list过程发生名称冲突:

(define lst '(when i type I 1 23 4 2))
(symbol? (car lst))
> #t

最后一行中的#ttrue)表明第一个元素确实是一个符号。如果您需要将其转换为字符串,只需执行以下操作:

(symbol->string (car lst))
> "when"

编辑:

回答评论中的问题,这应该有效:

(define (isvariable? symbol)
  (and (symbol? symbol)
       (eqv? (string-ref (symbol->string symbol) 0)
               #\?)))