2017-04-17 18 views
0

hash-setプロシージャを使用して、hash?の値を設定しています。ハッシュをimmutable?にする必要があるようです。これまでのところ、私は、次のより不変のハッシュに変更可能なハッシュを変換するために、より良い方法を見つけることができませんでした:不変ハッシュから不変ハッシュへのラケット可変ハッシュ

ハッシュは、いくつかのyamlある()メイク不変ハッシュ(ハッシュ・>リストmyhash)

、私はファイルから読み込み、yamlモジュールは私に可変ハッシュを与えます。たとえば、私は次のコードを持っている:

(hash-set yaml-hash 
       "content" 
       (make-immutable-hash 
       (hash->list 
        (my-hash-map content-hash 
           (lambda (key value) 
           (cons key 
             (markdown-to-html value))))))) 

それを更新する目的のために、不変のものに変更可能なハッシュを変換するための良い方法はありますか?それとも別の方法をとるべきですか?ハッシュは、そもそも可変である場合

答えて

2

することは、あなたはhash-set!を使用して直接変更することができます。

(hash-set! yaml-hash <key> <new-value>) 

hash-set新しいハッシュを返します。一方、上記、インプレースハッシュの値を変更しますこれは、別の場所に保管したり、再割り当てする必要があります。

関連する問題