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

exi*_*onX 2 scheme racket

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

(define list '(when i type I 1 23 4 2))
Run Code Online (Sandbox Code Playgroud)

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

Ósc*_*pez 5

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

(define lst '(when i type I 1 23 4 2))
(symbol? (car lst))
> #t
Run Code Online (Sandbox Code Playgroud)

最后一行中的#t(true)显示第一个元素确实是一个符号.如果您需要将其转换为字符串,只需执行以下操作:

(symbol->string (car lst))
> "when"
Run Code Online (Sandbox Code Playgroud)

编辑:

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

(define (isvariable? symbol)
  (and (symbol? symbol)
       (eqv? (string-ref (symbol->string symbol) 0)
               #\?)))
Run Code Online (Sandbox Code Playgroud)