問題タブ [erlang-shell]
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.
erlang - Erlang シェル作業ディレクトリ
外部ツールとして設定してErlang REPLを開くようにIdeajを構成していますが、作業ディレクトリのパラメータは無視されます。REPL を開いて作業ディレクトリを切り替える方法はありますか?
erlang - 関数内のリストとしてのパターン マッチ Erlang 文字列
最近、Erlang の勉強を始めたのですが、説明できない興味深い例外に遭遇しました。
私のソースコードは次のとおりです。
文字列内の閉じ括弧と開き括弧の数をカウントするための非常に基本的なコード。
Erlang シェルで関数 is_balanced を呼び出そうとすると、次のようになります。
balanced_brackets:is_balanced("{}").
次のエラーが出力されます。
** exception error: no function clause matching balanced_brackets:is_balanced("{}",0,0) (balanced_brackets.erl, line 7)
ただし、引数を明示的なリストとして渡すと、パターン マッチングは正しく機能します。
balanced_brackets:is_balanced(["{", "}"]).
Erlang の文字列は単に内部的にリストされているだけではありませんか? 構文を使用して文字列をパターン マッチさせるのはなぜ間違っているの[H | T]
ですか?
BIF を実行すると、is_list("{}").
が返されますtrue
。
例外についての誰かの説明を心から感謝します。
ありがとうございました。
Erlang/OTP 17 [erts-6.2] [source-aaaefb3] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]
erlang - Erlang で変数を 1 回バインドする
編集:私が犯したn00bの間違いに照らして役に立たなかったため、この質問のタイトルを変更しました。残りは変更されておらず、警告として役立ちます!
Erlang OTP バージョン 17.4 を使用しています。「Learn You Some Erlang:Errors and Processes」trap_exit
で説明されているように、プロセス フラグを試している次の Erlang シェル セッションについて考えてみましょう。
まず、trap_exit
リンクされたプロセスの終了シグナルを通常のメッセージに変換するフラグを設定します。
次に、リンクされたプロセスを生成し、次の呼び出しですぐに終了しますexit/2
。
次に、変換された終了メッセージを読みます。
本が説明しているように、これまでのところすべて順調に見えます。さて、楽しみのために、spawn_link
別のプロセスを終了します。
そして、変換された終了メッセージを読んでみてください:
この時点で、シェルがハングします。私の質問は、なぜ 2 回目の動作が変わるのか、終了メッセージはどこに行ったのかということです。
erlang - Doctor Robotnik (Erlang) コマンドと変数
私は次のコードを使用しています:
https://github.com/kivra/robotnik
そして、エンジンにスクレイピングを開始させることができません。エンジンを始動するために必要なコマンドに慣れていないためだと思います。
コンパイルが完了すると、コマンド " robot_example:init("search").
" は応答 " " を返します{ok,[search,browse],[]}
。
同様に、" " は " robot_example:kill().
" を返し{ok}
ます。
さて、" robot_example:attack
" には 2 つの引数が必要であることは承知していますが、最初の引数は "検索" または "ブラウズ" であると思います。私が確信が持てないのは、エンジンを実行して処理するために変数「_State」に必要な引数です。
どんなポインタでも大歓迎です!
erlang - erlang に一致する関数句がありません
Erlang を手にしたばかりで、単純な問題に遭遇しましたが、それを修正したり、それについて何かを見つけたりすることはできませんでした。が特定のリストにあるかどうかをチェックするモジュールを定義しようとしていますatom
。次のように、Erlang シェルからリストを入力しました。
veggies:veggieMember([cucumber,tomato,potato],tomato).
しかし、私はいつも得ますexception error: no function clause matching
基本を誤解しているかもしれませんが、私がやろうとしているモジュールコードは次のとおりです。
erlang - インストールの 1 つで Erlang マップの構文エラーが発生する
Mac (OS X) と Ubuntu 14.04 PC に Erlang をインストールしました。マップを作成しようとすると Mac では機能しますが、まったく同じコードを使用すると、私の Ubuntu PC ではエラーが発生します。他の 1 台のコンピューターで試してみましたが、そこでも機能しました。これはコードです:
ここからサンプルコードです。私のUbuntuのインストールでは、それは言うsyntax error before {
.
私のバージョンの Erlang に何か問題があるのでしょうか? aptitudeからインストールしました。起動すると「Eshell V5.10.4」と表示されます。
コードをファイルに書いてシェルからコンパイルしようとしても同じです。
erlang - プログラムがerlangでASCII値を保持するようにする方法は?
erlang シェルから入力する関数があります。
そのようなASCII値を維持したいのですが、私のものは出力で整数に変更されます。プログラムがそれらを整数に解釈しないようにするにはどうすればよいですか?