2017-05-13 5 views
3

デバッグ情報の正しいオプションがdebug_infoです:一方Erlangをコンパイルする理由:不明なオプションでファイルにエラーが報告されない?

1> compile:file(hello, [debug_info, export_all]). 
{ok,hello} 

、私は理解していない非既存のオプションを渡すとき、コンパイルにも、常に成功している理由はありますか?

例えば

2> compile:file(hello, [debug, export_all]). 
{ok,hello} 

または

3> compile:file(hello, [foobar, export_all]). 
{ok,hello} 

これらの2つの例は、エラーを報告しないのはなぜ?

答えて

3

Erlangでは無効なオプションを無視するのが一般的です。オプションはデフォルトでフェッチされます。このようなもの:

1> Opts = [{opt1, 1}, {other, 2}]. 
[{opt1,1},{other,2}] 
2> %% Inside function 
2> Opt1 = proplists:get_value(one, Opts, 1), 
2> Opt2 = proplists:get_value(two, Opts, 2). 
2 
3> Opt1. 
1 
4> Opt2. 
2 
5> 
関連する問題