私はOCamlで作業しており、リスト内のすべての要素を互いにチェックする必要があるリストがあります。リストは、基本単位または派生単位のいずれかの単位のリストです。基本単位は m、s、g であり、派生単位は、kg、min、ft、lb など、m、s、g を使用する任意の単位です。
したがって、リストの例は [lb; フィート; m]。ft と m は同じ基本単位 m を共有しているため、このリストは無効です。より明確にするために[lb; kg; s] は無効になります。これは、lb と kg が同じ基本単位 m を共有しているためです。ただし [ft; s; m] は完全に有効です。これらの基本単位の変換は、ルックアップのためにハッシュに保持されます。
私の問題は、すべてのユニットを互いにチェックする方法です。折り畳みを使ってみましたが、頭が痛いです。誰でも私を助けることができますか?