如果我在这样的方案中定义一个列表
(define list '(when i type I 1 23 4 2))
什么类型的东西(汽车清单)返回?另一个问题是:我可以将其转换为字符串吗?
答案 0 :(得分:5)
在问题中显示的列表中,汽车是符号 'when
。您可以验证它,但首先让我们将列表的名称更改为其他名称,以避免与内置list
过程发生名称冲突:
(define lst '(when i type I 1 23 4 2))
(symbol? (car lst))
> #t
最后一行中的#t
(true
)表明第一个元素确实是一个符号。如果您需要将其转换为字符串,只需执行以下操作:
(symbol->string (car lst))
> "when"
编辑:
回答评论中的问题,这应该有效:
(define (isvariable? symbol)
(and (symbol? symbol)
(eqv? (string-ref (symbol->string symbol) 0)
#\?)))