問題タブ [parse-transform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1748 参照

erlang - erlang:実際の「fun」で呼び出された関数はparse_transformで変換する必要がありますか?

私はO'ReillyErlangプログラミングの本を見ていますが、次のようなerlangシェルで実行される例があります。

ただし、コードで(シェルではなく)同様のことを行うと、次のようになります。

私はFUBARを取得します:

(余談ですが、なぜエラーが'関数で呼び出されないのだろうか...'おそらくそうio:format( "〜p"、TheErrorMessage)は行を折り返しますか?)

とにかく、私はets:foldlを支持してselectを放棄しました。後者は機能し、楽しみの例外を介して、最初のアイテムが見つかったときにトラバーサルを終了できるためです。しかし、私はまだ興味があります...

...なに?(私はparse_transformでいくつかの読み取りを行いましたが、接続が欠落していることをerlangするのに十分な新人です。)

0 投票する
1 に答える
1080 参照

erlang - なぜプログラマーは「解析変換に従事しないように強くアドバイスされている」のですか?

erl_id_transのドキュメントによると:

プログラマーは、解析変換を行わないことを強くお勧めします。また、発生した問題に対するサポートは提供されません。

なぜプログラマーはparse_transform/2を使用しないように強くアドバイスされているのですか?これは将来サポートされませんか?parse_transform / 2以外に、コードを挿入する(実行時のバイトコード変更)か、コンパイルされる前にソースコードを変更するメカニズムはありますか?

0 投票する
2 に答える
667 参照

erlang - 解析変換モジュールでダイアライザーを使用する方法

erlang アプリケーションでダイアライザーを使用しようとしていますが、出力は次のとおりです。

playerdupli.erlと同じディレクトリに入れてみましparty2.erlたが、出力は同じです。exprecs.erldeps: にありdeps/parse_trans/srcます。

parse_transform を含め、コードはエラーなしでコンパイルおよび実行されます。私はMinGW(Windows 8 64)を使用しています。何か案が ?

ありがとう

0 投票する
1 に答える
232 参照

security - 新しい言語を作成せずに、Erlang にどのように機能を追加しますか?

Erlang を新しい言語にし、アプリケーション側で最大限の下位互換性を維持することなく、ケイパビリティ ベースのセキュリティを Erlang に追加するにはどうすればよいのでしょうか?

0 投票する
2 に答える
800 参照

makefile - Common Test のテスト実行中に大きな呼び出しが失敗する

Erlang プロジェクトでラガーをセットアップすることにしました。erlang.mk を使っているので追記

私のMakefileに。make allエラーなしでモジュールを実行およびコンパイルできます。erlコンソールを起動し、lager を使用してモジュールを含むアプリケーションを実行することもできます。エラーは生成されず、コンソール セッション中に大きなログ メッセージが記録されます。すべてがうまくいっているようです(ラガーを使用したのはこれが初めてです)。しかし、Common Test を実行すると、大きな呼び出しは失敗します。

10:11:17.174 [error] CRASH REPORT Process <0.238.0> with 2 neighbours exited with reason: call to undefined function lager:info("Params: ~p", [[]]) in gen_server:init_it/6 line 328

私がテストしているモジュールが正しくコンパイルされているように見えるので、これはより大きなモジュールが存在しないことに問題があると思います。ただし、これを追加すると:

最初の lager 呼び出しの上で成功し、lager のモジュール情報を出力します。私が行っているロギング呼び出しは、機能するために解析変換マジックを利用していると思いますが、これは私の共通テストの実行中には存在しません。

どんな提案でも大歓迎です!

0 投票する
1 に答える
1106 参照

erlang - Lager - 解析変換

Rebar を使用して自分のアプリケーションに Lager を追加しました。アプリを起動すると、正常にコンパイルされ、Lager が正常に起動します。ただし、lager:debug/1 を呼び出すと undef メッセージが表示され、lager_transform解析変換が取得されていないことがわかりますが、rebar.config に次を追加しました。

もちろん、rebarでコンパイルしています。