マルチマッピングとしてハッシュ テーブルを使用しており、以前のバインディングを削除したいと考えています。Hashtbl.remove は、現在のバインドを削除するだけです。y から x へのバインディングを削除する remove hash xy のようなものを考えています。複数のバインド xy がある場合は、そのうちの 1 つを削除する必要があります。私はこれのための作業コードをいくつか持っていますが、複雑すぎて遅いです (for ループなどが含まれます)。
私はそれがこのように動作するようにしたい:
Hashtbl.find_all ハッシュ 1 ;; [1;2;3;3;4] を返します
ハッシュを削除 1 3 ;;
Hashtbl.find_all ハッシュ 1 ;; [1;2;3;4] を返します