Elixirコードフォーマッター
ガイド
Elixirコードフォーマッター
Elixir のソースコードを貼り付け、ブラウザで即座にクリーンな出力を受け取ってください。 mix formatインデントを標準化し、演算子の周囲のスペースを一貫性を持たせ、ブロックを並べ替え、表面的な構文問題をコードが実行される前に検出します。 alias / import / require / use ブロック iex。すべての処理はクライアントサイドで行われるので、コードはあなたのマシンに留まります。
使用方法
- 入力ボックスに Elixir コードを貼り付け、アップローダーにファイルをドロップ、または
.ex/.exsをクリックしてください 例を試してみてください。. - オプションで調整します 最大行長 (デフォルトは 98 で、mix フォーマットと一致しています)
mix formatので、長すぎる行がフラグされます。 - トグル alias / import / require / use を並べ替え 連続ブロックをアルファベット順に並べ替えたい場合に使用します。
- フォーマットされた出力はリアルタイムで表示されます。コピーしたり、または
formatted.ex.
機能
- mix format スタイルのインデント – 2スペースインデント、→を追跡し、再インデントを処理します。
do/fn↔endとelse/rescue/catch/after再インデント。 - オペレーターのスペース – 標準化
=,==,|>,->,<-,::,++,<>、および類似のもの。 - マップと構造体のプレフィックス – モジュラス演算を破らないように
%{...}と%MyStruct{...}を緊密にします。 - ビット文字列の括弧 – ビット文字列の括弧を保持し、余計なスペースを追加しません。
<<...>>– 連続ブロックをアルファベット順に並べ替え(キーワード+インデントが一致する必要があります)。 - alias / import / require / use を並べ替え – 開閉括弧、ブレース、ビット文字列、不一致、および終了しないヒーリングドキュメントを検出します。
- 大きなファイルを処理します 行長警告
do/end– 設定された最大値(40–200)を超える行をフラグします。 - ヒーリングドキュメント、シグイル、キャラクターリスト – 文字列の内部および
- は正確に保持されます。 ドラッグアンドドロップアップロード
~r/.../,~s(...),~S"""..."""– 任意のファイルを直接フォーマットできます。 - – アップロードは行われません;ページが読み込まれたらオフラインで動作します。 What is
.ex/.exsand why does Elixir need one? - 100%クライアントサイド は公式な Elixir コードフォーマッターで、Elixir 1.6 で導入されました。ソースコードを AST にパースし、単一の決定論的なスタイルで再表示します。すべての Elixir プロジェクトが同じ規則を共有しているため、チームはスペースに関する議論をやめ、コードレビューは論理に集中し、エディタやオペレーティングシステム間で差分がきれいになります。
よくある質問
-
What does the pipe operator
mix formatactually do?mix formatパイプ演算子は、左側の値を右側の関数の最初の引数として渡します。したがって -
は
|>に等しく、パイプは操作が順番に実行されるため、Elixir の慣用的な記述では、各は、パイプされる値の2スペースインデントの行に配置されます。 Why do Elixir variables look immutable even when they are reassigned? Elixir の変数は再バインディングであり、変更ではありません。
data |> transform() |> save()は、名前save(transform(data))に新しいバインディングを作成します;元の値|>は、ガベージコレクションまでメモリに存在します。パターンマッチ内では、 -
はマッチ演算子であり、割り当てではありません。そのため、
は同時に分解し、バインディングします。
x = 1What is the difference between ax = 2block and thexkeyword shorthand?1は、ボディに複数の式を含むマルチラインブロック形式です。=は、単一式ボディのキーワードリストのショートハンドで、キーワードリストとして2タプルにパースされます。{:ok, value} = resultどちらも同じバイトコードを生成します;ショートハンドは1行の式に推奨され、複数行の式にはブロック形式が推奨されます。 -
Why are charlists and binaries different in Elixir?
doA double-quoted string is a UTF-8 binary — a sequence of bytes. A single-quoted charlist is a linked list of Unicode codepoints, inherited from Erlang where strings are traditionally lists of integers. Most Elixir APIs (Phoenix, Ecto, Plug) work with binaries; charlists mainly appear at Erlang interop boundaries (do:, etc.) where the underlying library expects lists.def foo do ... endPaste your Elixir code here...def foo, do: exprElixir Code Formatter 1{:do, expr}Elixir Code Formatter -
Paste your Elixir source code and get clean, mix format-style output instantly in your browser. Standardize indentation, normalize spacing around operators,
ダブルクォートで囲まれた文字列はUTF-8バイナリ——バイトのシーケンスです。シングルクォートで囲まれたキャラクターリストは、Erlangで文字列が整数のリストとして扱われる伝統から継承された、Unicodeコードポイントのリンクリストです。ほとんどのElixirのAPI(Phoenix、Ecto、Plug)はバイナリを扱います。キャラクターリストは主にErlangとの相互運用の境界(など)で現れ、その下位のライブラリがリストを期待する場合があります。
:inets,:gen_tcp、など。
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
