問題タブ [erl]

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 に答える
119 参照

erlang - erlang lib の変更がプロジェクトに組み込まれないのはなぜですか?

私はかなり大規模なプロジェクトで erlang 5.8.1.1 で eclipse 3.6.2 を使用しているため、より新しいバージョンの言語に移行する準備ができていないため、eprof のバグに悩まされています。

これを書いた人はゼロ除算を防げなかったので、いつもクラッシュします。私は変更をハッキングしました:

...しかし、私のプロジェクトでは決して実行されません。.erl を手動で再コンパイルし、.beam を ebin ディレクトリに配置しましたが、プロジェクトを完全にシャットダウンし、Eclipse を閉じ、Eclipse を開き、更新、クリーニング、および再起動した後、メソッドの新しいバージョンは実行されません。「foo + 1」のような式をメソッドに貼り付けて、現在ダウンしているバダリスとは異なる例外が発生するかどうかを確認しましたが、効果はありませんでした。

.beams が統合されているか、どこかにキャッシュされていると推測できますが、それを再構築する必要があります。

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

erlang - Erlangで複数のerl間でレコードを共有するには?

私が持っているすべての erl ファイルで -record を使用したいと思います。すべてのファイルで個別にレコードを繰り返すことができることは知っていますが、それは本当に見苦しいです。

なにか提案を ?

PS : 優しくしてください ;-) 私は Erlang 初心者です。

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

erlang - コマンドを erl に渡しますか?

erlang プログラム (ejabberd) を実行しています。場合によっては、実行中の erlang プログラムに erl シェルを接続してヘルス チェックを行う必要があります。

私はこれらすべてをスクリプト化しようとしていますerl -sname r -remsh .....erlangシェルでコマンドを入力してからコマンドを実行するのではなく、bashシェルからそのコマンドを直接実行して出力を取得する方法を探しています. これは可能ですか?

Odobenus の回答の後、私はこの小さなスクリプトを書きました。

問題は、これらが接続に使用するパラメーターとまったく同じであるにもかかわらず、「ノードダウン」エラーが発生することですerlerl -sname r -remsh ejabberd@xmpp -setcookie `cat ~ejabberd/.erlang.cookie`

0 投票する
3 に答える
1405 参照

erlang - Erlang での選択的受信

だから、Erlang の学習を始めたのですが、このコードの塊に少し混乱しています。

を使用してコードを呼び出しています。

このコードは優先度の高いすべてのメッセージを最初に通過し、次に優先度の低いメッセージを通過することを理解しています。戻り値がどのように[高、高、低、低]であるかについて混乱しています。それらが連結されている場所がわからないためです。

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

c - バイナリをerlangnifに渡す

基本的にTCP接続からいくつかのバイナリデータを受け入れ、C nifを使用してデータを復号化し、復号化されたデータを返すErlangコードを書いています。

問題は、渡されたバイナリを変更する方法がわからないように見えることです。

これは私が使用している関数です。誰かが私を正しい方向に向けることができれば、私はそれをいただければ幸いです。

ありがとう!

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

erlang - erl_call の切断を検出する方法

erl_call によってトリガーされる erlang サービスがあります。erl_call は "gen_server:call(?SERVER, do, infinity)" のような長い呼び出しを行い、結果を待ちます。erlang サービスがダウンした場合、erl_call が返されます。しかし、erl_call が中断された場合 (CTRL-C を使用)、erlang サービスはメッセージを受け取りません。

appmon と pman で確認します。erl_call が切断した後、erl_call が開始したプロセスが停止しませんでした。したがって、そのプロセスへのリンク/モニターは機能しません。すでに切断されている erl_call を検出するにはどうすればよいですか?

0 投票する
7 に答える
43848 参照

vb.net - Stacktrace を使用して vb.net でエラー行番号を返す方法

エラー行番号を返す何らかのエラーキャッチメソッドを作成しようとしています。プロセスが中止されたときに送信される中止メールには、err.numbererr.descriptionが含まれていますが、実際にエラーが発生した場所を知りたいです。

私はあなたが次のことができることを知っています:

ERL を使用して番号を取得しますが、そのように各行を入力するのは面倒です。

これを自動的に行う方法はありますか、それとも Stacktrace を使用する方が簡単でしょうか? Stacktrace の方が優れている場合は、例を示していただけますか?

0 投票する
3 に答える
2994 参照

erlang - 生成したばかりのプロセスに手動でメッセージを送信するにはどうすればよいですか?

Erlangで処理するメッセージを送信するにはどうすればよいですか?プロセスを開始しましたが、出力にはpid(プロセス識別子)がであることが示されています<0.39.0><0.39.0>私の質問は、このプロセス( )に手動でメッセージを送信するにはどうすればよいですか。

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

erlang - `erl -make` コマンドを拡張して、.erl ファイルのコンパイル以外のことを行うことはできますか?

rebarElixir.exを私たちのプロジェクトに統合したかったのですが、古き良きコードEmakefile.

編集:

私たちのチームは主に Windows 環境で作業していますが、デプロイは Linux サーバーで行うため、クロスプラットフォーム ソリューションが必要です。erl -makeErlang自体がクロスプラットフォームなので、コマンドでやりたかった。

もちろん、 を書くことはできますが、開発マシンにはコマンドがないため、開発環境でコードをビルドするには やそれに似たものMakefileが必要になります。build.batmake

誰でも良いアイデアがありますか?

アップデート:

誰かが知りたい場合のために、私はこのようにしています:

  1. lib/elixirElixir ソース ツリーのディレクトリをソース ディレクトリにコピーしますsome_project/src/tools/elixir
  2. 、 に、 をこの順序で追加some_project/src/tools/elixir/src/elixir_transform.erlします。出力ディレクトリを(他のすべてのファイルはそこにあります) に設定します。some_project/src/tools/elixir/src/*Emakefilesome_project/ebin.beam
  3. src/elixir.app.srcElixir ソース ツリーを にコピーしsome_project/ebin/elixir.app、編集してバージョン コードを修正します。
  4. direrl -pa ebin -makeで , を実行して、Erlang コードをビルドします。some_project
  5. を実行して Elixir コンパイラをビルドします。erl -pa ebin -s elixir_compiler core -s erlang halt
  6. これで、コードに動作する Elixir 環境ができました。次の escript を使用してカスタム.exファイルを作成します。
0 投票する
3 に答える
3471 参照

rebar - 鉄筋を構築しようとしたときに「rebar_coreでキャッチされないエラー」

riakでノードを追加および削除する必要があります。このために、次のリンクの手順に従って鉄筋を構築しようとしています:https ://github.com/basho/rebar

bootstrapコマンドを実行すると、erlangライブラリについて次のように表示されません。

riak1.2.1バージョンとerlangバージョンR15B01を使用しています。誰かがこれで私を助けることができますか?