如何创建具有一个元素但具有给定深度的列表?

How can I create a list with one element but with a given depth?

我是球拍的新手,我想找到一种方法来创建一个只有一个元素但通过递归具有给定深度的列表。例如:

> (create-list 3 'x)
'(((x)))

要创建一个单元素嵌套 n 层的列表:

  • 如果 n 为零,答案就是元素(它没有嵌套任何深度);
  • 否则假设 n > 0,然后创建一个单元素列表,其元素是创建一个单元素嵌套 n - 1 层深的列表的结果,您需要编写哪个函数...除非,也许你刚刚有?

创建列表的函数是 list,因此要创建单个元素列表,您可以使用 (list e),其中 e 是元素。