2

您将如何设计一个函数find,该函数将接收符号列表和数字,并返回列表的第 n 个符号

我猜输出会是这个

(find (list 'a 'b 'c 'd) 3)

(find (list 'a 'b 'c 'd 'e 'f) 4) 

'e

有没有一种简单的方法可以做到这一点,不会让我感到困惑并且使用初学者很容易理解?

4

1 回答 1

3

该函数已经存在并且是标准的,它被称为list-ref

(list-ref (list 'a 'b 'c 'd 'e 'f) 4) 
=> 'e

从文档中:

list-ref返回位置 pos 的 lst 元素,其中列表的第一个元素是位置 0。如果列表具有 pos 或更少的元素,则引发 exn:fail:contract 异常。

于 2013-02-24T17:42:28.853 回答