List 如何在Scheme中测试列表

List 如何在Scheme中测试列表,list,scheme,List,Scheme,假设X是Scheme中的数据表达式。我想知道是否有办法测试X是否是列表,如果是,我的机器将输出\t,否则它将输出\f您可以使用函数list?: (list? 42) => #f (list? '(1 2 3)) => #t 好的,这是我的问题:让我们做一个数据表达式。编写一个函数表达式,当且仅当s是非空列表,其第一个数据表达式是非空列表(否则计算为布尔值f)时,它的计算结果为布尔值#t。这听起来像是为了学习一些东西而要完成的任务:)这是我正在处理的问题的一部分是,但是我

假设X是Scheme中的数据表达式。我想知道是否有办法测试X是否是列表,如果是,我的机器将输出
\t
,否则它将输出
\f
您可以使用函数
list?

   (list? 42)
=> #f
   (list? '(1 2 3))
=> #t

好的,这是我的问题:让我们做一个数据表达式。编写一个函数表达式,当且仅当s是非空列表,其第一个数据表达式是非空列表(否则计算为布尔值f)时,它的计算结果为布尔值#t。这听起来像是为了学习一些东西而要完成的任务:)这是我正在处理的问题的一部分是,但是我被卡住了,我需要一些帮助。你被困在哪一部分?这不管用吗?(非(空)(第一个(第一个)))