Lisp,嵌套每条语句

Lisp,嵌套每条语句,lisp,common-lisp,Lisp,Common Lisp,我正在尝试编写一个函数,可以确定列表是否只包含数字。例如“('(12)'(34))=>t而“('(12)'(3x))=>nil。我不能让我的代码工作,并将感谢任何帮助!我一直在用每一个。这是最好的方法吗?这是到目前为止我的代码 (defun list-all-numbers(l) (every #'numberp l)) (defun list-of-list-numbers(l) (every #'list-all-numbers l)) 您的功能运行良好: ? (LIST-

我正在尝试编写一个函数,可以确定列表是否只包含数字。例如“('(12)'(34))=>t而“('(12)'(3x))=>nil。我不能让我的代码工作,并将感谢任何帮助!我一直在用每一个。这是最好的方法吗?这是到目前为止我的代码

(defun list-all-numbers(l)
  (every #'numberp l))

(defun list-of-list-numbers(l)   
  (every #'list-all-numbers l))

您的功能运行良好:

? (LIST-OF-LIST-NUMBERS '((1 2) (3 4)))
T
? (LIST-OF-LIST-NUMBERS '((1 2) (3 x)))
NIL
但问题是,您在示例中使用了过多的引用:

?  '( '(1 2) '(3 4) )
('(1 2) '(3 4))
? (car '( '(1 2) '(3 4) ))
'(1 2)
? (caar '( '(1 2) '(3 4) ))
QUOTE
但你只是想

? '((1 2) (3 4))
((1 2) (3 4))
? (car '((1 2) (3 4)))
(1 2)
? (caar '((1 2) (3 4)))
1

您的功能运行良好:

? (LIST-OF-LIST-NUMBERS '((1 2) (3 4)))
T
? (LIST-OF-LIST-NUMBERS '((1 2) (3 x)))
NIL
但问题是,您在示例中使用了过多的引用:

?  '( '(1 2) '(3 4) )
('(1 2) '(3 4))
? (car '( '(1 2) '(3 4) ))
'(1 2)
? (caar '( '(1 2) '(3 4) ))
QUOTE
但你只是想

? '((1 2) (3 4))
((1 2) (3 4))
? (car '((1 2) (3 4)))
(1 2)
? (caar '((1 2) (3 4)))
1

您的功能运行良好:

? (LIST-OF-LIST-NUMBERS '((1 2) (3 4)))
T
? (LIST-OF-LIST-NUMBERS '((1 2) (3 x)))
NIL
但问题是,您在示例中使用了过多的引用:

?  '( '(1 2) '(3 4) )
('(1 2) '(3 4))
? (car '( '(1 2) '(3 4) ))
'(1 2)
? (caar '( '(1 2) '(3 4) ))
QUOTE
但你只是想

? '((1 2) (3 4))
((1 2) (3 4))
? (car '((1 2) (3 4)))
(1 2)
? (caar '((1 2) (3 4)))
1

您的功能运行良好:

? (LIST-OF-LIST-NUMBERS '((1 2) (3 4)))
T
? (LIST-OF-LIST-NUMBERS '((1 2) (3 x)))
NIL
但问题是,您在示例中使用了过多的引用:

?  '( '(1 2) '(3 4) )
('(1 2) '(3 4))
? (car '( '(1 2) '(3 4) ))
'(1 2)
? (caar '( '(1 2) '(3 4) ))
QUOTE
但你只是想

? '((1 2) (3 4))
((1 2) (3 4))
? (car '((1 2) (3 4)))
(1 2)
? (caar '((1 2) (3 4)))
1

@ajputnam欢迎使用堆栈溢出;-)@ajputnam欢迎使用堆栈溢出;-)@ajputnam欢迎使用堆栈溢出;-)@ajputnam欢迎使用堆栈溢出;-)这不是重复的,但你可能会发现一些讨论很有用。您的代码很好,但您的数据是
((引号(12))(引号(34))
,这可能不是您想要的。它不是重复的,但您可能会发现一些讨论很有用。您的代码很好,但您的数据是
((引号(12))(引号(34))
,这可能不是您想要的。它不是重复的,但您可能会发现一些讨论很有用。您的代码很好,但您的数据是
((引号(12))(引号(34))
,这可能不是您想要的。它不是重复的,但您可能会发现其中的一些讨论很有用。您的代码很好,但您的数据是
((引号(12))(引号(34))
,这可能不是您想要的。