with-hash-table-iterator

Title
with-hash-table-iterator
Type
Macro
Arguments
with-hash-table-iterator (MNAME HASH-TABLE) &body BODY
Package
lisp
Section
ハッシュ
File
hash.l
ハッシュテーブルの要素を順番に返す関数を返してもらいます。

  MNAME      : 要素を順番に返す関数名を指定します。
               この関数は要素を列挙し終わるとnilを返します。
  HASH-TABLE : ハッシュテーブルを指定します。
  BODY       : フォームを記述します。

関数が順番に要素を返すので、loopを使ってnilが返るまで繰り返します。

使用例:
(with-hash-table-iterator (foo hsh)
  (loop
    (multiple-value-bind (f x y)
        (foo)
      (unless f (return))
      (format t "~S ~S~%" x y))))
Seealso
maphash