2

mochiweb インスタンスを作成しました

src/
   |-- Makefile
   |-- room.erl
   |-- myserver.app
   |-- myserver.erl
   |-- myserver_app.erl
   |-- myserver_deps.erl
   |-- myserver_sup.erl
   |-- myserver_web.erl
   `-- uuid.erl

myserver_web.erlアプリケーション構成にアクセスできます

{ok, "0.0.1"} = application:get_key(vsn),

ただし、room.erlでは、アプリケーション構成 (特にenvリスト) にアクセスできません。

undefined = application:get_key(vsn),

スーパーバイザーは部屋を開始しませんし、私もそれを望んでいません。

私は OTP に不慣れで、おそらく何かばかげたことをしていることに気づきましたが、誰かの助けに本当に感謝しています。

乾杯!

4

3 に答える 3

3

アプリケーションに関するErlangのドキュメントから:get_key / 1-2関数

アプリケーション仕様キーKeyforApplicationの値を返します。application引数を省略すると、デフォルトで呼び出し元プロセスのアプリケーションになります。

my_server_web.erlのアプリケーションは何ですか?room.erlのアプリケーションは何ですか?

指定されたアプリケーションがロードされていない場合、仕様キーが存在しない場合、または呼び出しを実行するプロセスがどのアプリケーションにも属していない場合、関数はundefinedを返します。

キーが指定されていますか?アプリケーションはロードされていますか?

「env」キーについては、代わりにapplication:get_env/1関数を使用できます。

于 2010-11-06T16:52:25.713 に答える
1

私はそれを理解しました...答えは非常にばかげており、投稿するのはばかげていると感じていますが、他の誰かが私から利益を得ることができることを願っています.

私は実際にすべてを正しく行っていましたが(他のすべての回答と同様)、mochiwebの自動リローダーを使用しており、実際にサーバーを停止していませんでした。それをしたら、すべてがうまくいきました。

ドー!ごめん!

于 2010-11-06T18:50:37.393 に答える
0

get_key(myserver, vsn)代わりに使用してください。アプリケーションを最初にロードする必要があることに注意してください。

于 2010-11-06T07:59:04.257 に答える