MNesiaの動的クエリを生成する関数を実装しようとしています。
たとえば、これらの引数を使用して関数が呼び出された場合。
dyn_query(list, person, [name, age], ["jack", 21])
MNesiaにクエリを実行して、名前が「jack」で年齢が21歳の個人テーブルのアイテムを一覧表示したいと思います。
qlc:q(ListComprehension)とqlc:string_to_handle( "ListComprehension")を使用してこれを実装しようとしました。コンパイルエラーが原因で最初に失敗しましたが、コンパイラでは、ListComprehentionsの代わりに関数を使用できず、「Item#Table.Field」のようなレコード名の代わりに変数を使用できませんでした。2番目は失敗しました。これは、erl_evalがレコードを処理できず、{undefined_record、person}などの例外をスローしたためです。
どの方法を使用すればよいですか?どうすればこれらの問題を解決できますか?または、別の方法を使用する必要がありますか?
ありがとう。