-on_load ディレクティブがどのように機能するかを完全には理解していないようです。私が書いたモジュールには、etsテーブルを初期化し、いくつかのデータを入力する関数があります。この関数は、明示的に呼び出すと正しく機能します。ただし、モジュールがロードされたときにetsテーブルが「自動的に」作成されると便利だと思いました。ets:info(filesig)
しかし、モジュールをロードした後に「未定義」と表示されるため、これは機能していないようです。関連するコードは次のようになります。
...
-on_load(init/0),
init() ->
% load filesig database into ETS
{_, Signatures} = file:consult("path to a file"),
ets:new(filesig, [set, protected, named_table]),
ets:insert(filesig, Signatures),
ok.
...
erlang シェル内からテストしました。私にとって何かヒントがありますか、私が間違っていることは何ですか?