問題タブ [elixir]
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.
elixir - Dict ではなく HashDict を使用する理由
エリクサー初心者です。この質問は短くて甘いです!
私はオンライン プログラミング演習を通じて Elixir を学んでおり、最近の提出物について次のようなアドバイスを受けました。
一般に、可能であれば HashDict.foo の代わりに Dict.foo を使用することをお勧めします。Dict 関数はあらゆる種類の辞書で動作するため、コードが変更された場合、更新する場所が少なくなります。
これにより、いつDict よりも HashDict を使用する必要があるのか わからないことに気付きました。人はどんな特別な美徳を持っていますか?
recursion - elixir およびデフォルト パラメータでの末尾の再帰呼び出し
私はElixirで簡単な例を書いていますが、うまくいきますが、その方法がよくわかりません。
MyList.sum を呼び出すと、期待される結果が得られます
コンパイラがエラーをスローするため、2 番目の合計にデフォルト パラメータを追加できません
私の質問は、なぜ sum([1,2,3]) が機能するのですか? どの定義とも一致しません。関数はまだ末尾再帰的ですか?
recursion - この繰り返し関数が入力ごとに 2 回起動するのはなぜですか?
実行時:
結果:
iex は 4 行目、8 行目、12 行目でユーザー入力を待機しませんでした。入力を受け取った後、ループを 2 回実行しているように見えます。
それはなぜでしょうか?
解決済み:
どうやら、このように使用すると IO.getn で奇妙なことが起こります。おそらく、「Y」をバイトとして読み取り、「enter」を別のバイトとして読み取ります。IO.gets を置き換えて文字数をカウントしないと、問題が解決するようです。または、getn メソッド呼び出しを分離することで、この問題が発生しないようにすることができます。
erlang - Miguel Camba チュートリアル Elixir ショートカット機能エラー
Elixir langのMiguel Cambaチュートリアルに従っています。
次のスニペットを利用しようとするまで、すべて問題ありません。
私は次のことを試しました:
イントロスペクションを実行して、それぞれ (arg1, arg2) および (arg1) に渡されたオブジェクトのタイプを確認したいと思いますが、それを達成する方法をまだ見つけようとしています..
それまでは、iex REPL で動作させることができなかったため、ショートカット アンパサンド メソッドが役立つかどうかはわかりません。私の質問は、イントロスペクション、ドキュメント、またはショートカット アンパサンド メソッドを使用して、このような場合にどのようにトラブルシューティングを行うかです。前もって感謝します。
elixir - これをどのように機能させますか...そしてなぜ機能しないのですか?
私はこれを以下で試しました:
iex(7)> String.split ("hello world") |> String.upcase |> Enum.join(" // ")
そして私はこれを得ました:
なぜこれが機能しないのかを知っている人が教えてくれますか?!
javascript - Elixir の OO スタイル引数?
OO のような方法で Elixir に self パラメータを渡すにはどうすればよいですか?
たとえば、ガベージ コレクションを使用して、次のように Erlang Javascript のようなオブジェクトを作成しました。
elixir - Elixir に enhpath に相当するものはありますか?
Python では、サード パーティの enhpath.py ライブラリにより、次のようなことが可能になります。
Elixir の File モジュールは次のようなことを行います:
上記のような絶対パスが必要なため、これはうまく機能しないので、次のようにします。
ただし、出力から、絶対パスが正しい「/home/lowks/Documents」ではなく、cwd 作業ディレクトリに結合されていることがわかります。これは、Python でパスを処理するためのストック python ライブラリのように見え、動作します。私の質問は、サード パーティの Python パス ライブラリのように動作するものがあるかどうかです。
elixir - Elixir Guard 特定のプロトコル
Elixir で特定のプロトコルを保護できるかどうか知りたいです。
または、たとえば f が特に HashDict であると主張するものはありますか?
ありがとう !
elixir - この式チェーンを括弧なしで書き直すことはできますか?
それで、私は Elixir でストリームを操作し、|> 演算子も操作しました。私は F# で遊んだ経験が豊富なので、とても自然に感じます。だから私はこれを試しました:
最初の 10 個の正方形のリストを吐き出すだけです。しかし、うまくいきませんでした。問題ない; これはうまく機能するため、演算子の優先順位の問題のように見えました:
しかし、これは式の前半を括弧で括らずに書き直せるのではないかと思っていました。