Lisp 忽略maphash lambda函数中的参数

Lisp 忽略maphash lambda函数中的参数,lisp,common-lisp,Lisp,Common Lisp,我有以下内容,我正在使用maphash迭代hashmap。处理hashmap中每个元素的lambda函数接收两个参数,一个键和一个值。但我从不使用该值,因此在编译时会收到警告。如何修复此警告?雷纳已经指出了(声明(忽略…)(实际上,这已经出现在另一个问题中)。如果您对另一种迭代哈希表键(或值)的方法感兴趣,可以使用: ? (defun foo (a b) (+ a 2)) ;Compiler warnings : ; In FOO: Unused lexical variable B FOO

我有以下内容,我正在使用maphash迭代hashmap。处理hashmap中每个元素的lambda函数接收两个参数,一个键和一个值。但我从不使用该值,因此在编译时会收到警告。如何修复此警告?

雷纳已经指出了
(声明(忽略…)
(实际上,这已经出现在另一个问题中)。如果您对另一种迭代哈希表键(或值)的方法感兴趣,可以使用:

? (defun foo (a b) (+ a 2))
;Compiler warnings :
;   In FOO: Unused lexical variable B
FOO

? (defun foo (a b)
    (declare (ignore b))
    (+ a 2))
FOO

雷纳已经指出了
(声明(忽略…)
(实际上,这已经出现在另一个问题中)。如果您对另一种迭代哈希表键(或值)的方法感兴趣,可以使用:

(let ((table (make-hash-table)))
  (dotimes (x 5) 
    (setf (gethash x table) (format nil "~R" x)))
  (values 
   (loop for value being each hash-value of table
      collect value)
   (loop for key being each hash-key of table
      collect key)))
;=> 
; ("zero" "one" "two" "three" "four")
; (0 1 2 3 4)