2012-04-04 8 views
5

にキーを見ない私はielmに次のelispのコードを評価した:のEmacs:GETHASHはハッシュテーブル

(setq foo-hash (make-hash-table)) 

(puthash "location" "house" foo-hash) 

(defun foo-start() 
    (interactive) 
    (message (gethash "location" foo-hash))) 

私は(foo-start)または(gethash "location" foo-hash)を実行したときしかし、私は唯一のnilがこだまし得ます。 ielmエコーでfoo-hashと入力すると、#s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8 data ("location" "house"))

これはバグですか、何か間違っていますか?

Emacsのバージョン:デフォルトでは比較のためのelispの使用eqlで24.0.95.1

答えて

11

ハッシュテーブル。文字列は、同じオブジェクトでない限り、eqlと等しくありません。文字列の内容を比較するequalを使用します。次のようにしてハッシュテーブルを作成します。

(make-hash-table :test 'equal) 
関連する問題