OCaml:メンバーシップのレコードのリストを確認します
質問
次のタイプを定義した場合:
type category = Noun | Verb | Adjective | Preposition;;
type transformation = {start: category; fin: category};;
質問に答える最善の方法は何ですか?"型変換のリストで start = Noun
のレコードですか?
類似のソート
let un = [{start= Noun; fin= Noun}; {start= Verb; fin= Adjective}];;
List.mem {start = Noun; _} un;;
構文が機能しないように見えることを除いて。
解決
List.exists (fun x -> x.start = Noun) un
List.mem
は、単に List.exists
の特殊なケースと考えることができます。ここで、 List.mem x ys
は List.exists((=)x)ys
。そのため、より一般的なメンバーシップ基準に List.exists
を使用できます。
所属していません StackOverflow