キーが存在しない場合のデフォルト値を設定する - lisp-cookbook-ja/common-lisp GitHub Wiki
キーが存在しない場合のデフォルト値を設定する
ハッシュテーブルのデフォルト値は処理系依存になっています。
デフォルトの値を設定しキーが存在しない場合に返すとすると、2値目を判定して動作する、下記のようなコードが考えられるでしょう。
(let ((ht (make-hash-table :test #'equal))
(default 100))
(setf (gethash "apple" ht) 150
(gethash "banana" ht) 300
(gethash "lemon" ht) 300)
(multiple-value-bind (val win) (gethash "papaia" ht)
(if win val default)))
;=> 100