0

「Building web application with Erlang」本のyaws チュートリアルを使用した REST API に従います。

起動時に次のエラーが表示されます$ yaws

file:path_eval([".","/Users/<uername>"],".erlang"): error on line 3: 3: evaluation failed with reason error:{undefined_record,airport} and stacktrace [{erl_eval,exprs,2,[]}]

.erlangファイル:

application:start(mnesia).
mnesia:create_table(airport,[{attributes, record_info(fields, airport)}, {index, [country]}]).

rest.erlファイルはここにあります。

レコードを定義するにはどうすればよいですか? rd(airport, {code, city, country, name}).成功せずに追加しようとしました。

4

1 に答える 1

1

レコード 'airport' はモジュール rest で定義されており、'rest' 内のすべての関数はレコード 'airport' について認識しています。しかし、アプリケーションを起動すると、erlang は .erlang ファイルを実行しますが、これはモジュールの残りの部分とは関係ありません。つまり、erlang は、記録された空港が何であり、どこにあるのかわかりません。

私が信じている最も簡単な回避策は、モジュール rest でいくつかの関数 (たとえば「init」) を定義することです。この関数には、.erlang ファイルに現在あるすべてのものを含める必要があり、それをエクスポートし、.erlang ファイルで rest:init を呼び出すだけです。 ().

于 2013-10-13T22:22:08.450 に答える