Lisp代码-如何运行此示例

Lisp代码-如何运行此示例,lisp,Lisp,这来自一个系统管理员职位的面试 在测试过程中,我发现了一个cookie。它包含一条经过base64编码的消息,下一条是uuencoded,下一条是bzip,最后一条是gzip。 解压之后,它包含以下代码: (let* ((x '((1 2 (3 4 5) 6) 7 8 (9 10)))) ;; use car/caaa..r/cd..r here to get 4 from x ) 我想是口齿不清。我现在正试图找出这应该做什么。 我不懂Lisp,有人能帮我吗?一段非常简单(也许是最容易

这来自一个系统管理员职位的面试

在测试过程中,我发现了一个cookie。它包含一条经过base64编码的消息,下一条是uuencoded,下一条是bzip,最后一条是gzip。 解压之后,它包含以下代码:

(let* ((x '((1 2 (3 4 5) 6) 7 8 (9 10))))
  ;; use car/caaa..r/cd..r here to get 4 from x
  )
我想是口齿不清。我现在正试图找出这应该做什么。
我不懂Lisp,有人能帮我吗?

一段非常简单(也许是最容易理解的)代码:

(汽车l)为您提供列表的第一个元素l

(cdr l)提供列表的剩余元素l(在列表本身中)

单独尝试每个通话,看看发生了什么

这确实是口齿不清。如果您想了解更多信息并为将来的面试做好更好的准备,可以尝试本教程。

一个非常简单(可能也是最容易理解的)代码:

(汽车l)为您提供列表的第一个元素l

(cdr l)提供列表的剩余元素l(在列表本身中)

单独尝试每个通话,看看发生了什么

这确实是口齿不清。如果你想了解更多,为将来的面试做更好的准备,你可以试试本教程

因此,您应该编写代码来访问嵌套列表中的
4
((1 2(3 4 5)6)7 8(9 10))

公共Lisp Hyperspec为您提供了可用的访问器函数:

因此,代码是:

(let* ((x '((1 2 (3 4 5) 6) 7 8 (9 10))))
   (cadr (caddar x)))
因此,您应该编写代码来访问嵌套列表中的
4
((1 2(3 4 5)6)7 8(9 10))

公共Lisp Hyperspec为您提供了可用的访问器函数:

因此,代码是:

(let* ((x '((1 2 (3 4 5) 6) 7 8 (9 10))))
   (cadr (caddar x)))

我可以帮忙-是的,是Lisp(或Scheme或Clojure)。这是来自工作调查的问题。这不是程序员的工作。是给系统管理员的。任务是在cookie中完成的,下一个是base64编码,下一个是uuencoded,下一个是bzip,最后一个是gzip。我得到了这个lisp代码。我不是程序员:(我想除了Lisp之外,我在所有这些编码方面都做得很好):(谢谢。没关系。我现在正在阅读Lisp教程:)不客气。与此同时,我想知道为什么这个组织会希望系统管理员了解Lisp——我能想到的唯一原因是。几天后,我将有机会向他们询问。但我看到他们对安全相关的工作提出了同样的问题。所以我想这是一个关于如何处理问题的一般性问题。我可以提供帮助——是的,是的是Lisp(或Scheme或Clojure)。这是工作调查中的问题。这不是程序员的工作。这是给系统管理员的。任务是在cookie中完成的,下一个是base64编码,下一个是uuencoded,下一个是bzip,最后一个是gzip。我得到了这个Lisp代码。我不是程序员:(我认为我很好地展示了所有这些编码,但Lisp除外):(谢谢。没关系。我正在阅读Lisp教程:)不客气。与此同时,我想知道为什么这个组织会希望系统管理员了解Lisp——我能想到的唯一原因是。几天后,我将有机会问他们这方面的问题。但我看到他们对安全相关的工作提出了同样的问题。所以我认为这是一个关于如何处理问题的一般性问题。
> (CADR (CADDAR '((1 2 (3 4 5) 6) 7 8 (9 10))))
4
(let* ((x '((1 2 (3 4 5) 6) 7 8 (9 10))))
   (cadr (caddar x)))