問題タブ [elixir-iex]

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

elixir - フォーマットを呼び出す組み込みの IEX コマンドはありますか?

h と h(IEx) をチェックしましたが、何も思いつきませんでした。

コマンドプロンプトにシェルアウトして「ミックスフォーマット」を実行できると確信していますが、何か足りないのではないかと思っていました。プロジェクトのソース ファイルを再フォーマットできる iex の recompile/0 または r/1 に類似したコマンドはありますか?

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

io - Elixir iex で IO.read(:stdio, :all) を実行した後に終了するには?

入力データフローをテストし、「IO.read」を使用する必要がありますが、データを入力した後、このモードを終了できず、CTRL-Z/X/C/D は役に立ちません (iex 全体を終了します)。では、このモードの EOF コマンドはどのように正しいのでしょうか? ありがとう!

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

namespaces - Elixir Phoenix iex コンソールで強制モジュール名前空間を停止する方法は?

Phoenix アプリケーションからコンソールを使用する場合はiex、次のようになります。

iex -S mix phx.server

またはSystemなどの関数を呼び出すことができないようです。これは、名前空間をモジュールの前に強制するためです。その名前空間を持つモジュールが存在しないため、エラーが発生します。System.stop(1)System.halt(1)

** (UndefinedFunctionError) function MyApp.SomeNamespace.System.stop/1 is undefined or private

このコア モジュールの先頭に名前空間を追加するのはなぜですか? のようなモジュールではこのエラーが発生するのに、 、、またはSystemのようなモジュールでは発生しないのはなぜですか?EnumListMap

また、iexアプリケーション ソースの外部で使用するとSystem.any_function、期待どおりに呼び出すことができます。

さらに調べてみると、 を呼び出すことで動作させることができますElixir.System.stop/1Systemモジュールの先頭Elixir.に を付ける必要があるのに、他の Elixir モジュールでは必要がないのはなぜですか?

アプリケーション コード内で、エイリアスや名前空間を必要とせずにSystem.backtraceor などを呼び出します。System.get_envまた、アプリケーションで名前が付けられたモジュールもありませんSystem(つまり、モジュールが定義されていないMyapp.Systemか、類似したモジュールが定義されていません)。