問題タブ [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.
elixir - フォーマットを呼び出す組み込みの IEX コマンドはありますか?
h と h(IEx) をチェックしましたが、何も思いつきませんでした。
コマンドプロンプトにシェルアウトして「ミックスフォーマット」を実行できると確信していますが、何か足りないのではないかと思っていました。プロジェクトのソース ファイルを再フォーマットできる iex の recompile/0 または r/1 に類似したコマンドはありますか?
io - Elixir iex で IO.read(:stdio, :all) を実行した後に終了するには?
入力データフローをテストし、「IO.read」を使用する必要がありますが、データを入力した後、このモードを終了できず、CTRL-Z/X/C/D は役に立ちません (iex 全体を終了します)。では、このモードの EOF コマンドはどのように正しいのでしょうか? ありがとう!
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
のようなモジュールでは発生しないのはなぜですか?Enum
List
Map
また、iex
アプリケーション ソースの外部で使用するとSystem.any_function
、期待どおりに呼び出すことができます。
さらに調べてみると、 を呼び出すことで動作させることができますElixir.System.stop/1
。System
モジュールの先頭Elixir.
に を付ける必要があるのに、他の Elixir モジュールでは必要がないのはなぜですか?
アプリケーション コード内で、エイリアスや名前空間を必要とせずにSystem.backtrace
or などを呼び出します。System.get_env
また、アプリケーションで名前が付けられたモジュールもありませんSystem
(つまり、モジュールが定義されていないMyapp.System
か、類似したモジュールが定義されていません)。