ジュリアコードフォーマッター
ガイド
ジュリアコードフォーマッター
Julia (.jl) ソースを貼り付けて、より広いJulia科学計算コミュニティが使用する規則に従って即座にフォーマットされた出力を取得できます。このツールは完全にブラウザ内で動作するため、Juliaランタイムやサーバーとの通信が不要で、機密研究やプロプライエタリーコードも安全に整理できます。
フォーマッターは以下のスタイルを反映しています JuliaFormatter.jl: 四スペースインデント、二項演算子の周りのスペース、タイプ注釈の緊密さ(例 x::Int と T <: Real)、 juxtaposition乗算の保持(例 2π)、および92文字のソフトライン長警告を設定できる。
使用方法
- Juliaコードを Julia Code をクリックして、スタートパレットを読み込みます。 例を試してみてください。 に貼り付けてサンプルモジュールをロードします。
- を選択してください インデントスタイル — 四スペースはJuliaFormatterのデフォルトですが、二スペースとタブも利用可能です。
- 調整する 行の長さ スライダーを調整して、92文字以外の幅を使用しているチームに合わせることができます。長行は報告されますが、自動的に分割されず、結果は文法的に等価です。
- トグル 二項演算子の周りのスペース, タイプ注釈のスペースを緊密に, コメントを保持と、 複数の空白行をまとめる 好みに応じて。
- クリック 形式. 結果をクリップボードボタンでコピーまたは
.jlファイル。
機能
- JuliaFormatterのデフォルトスタイル – 四スペースインデント、空白行の規則、および二項演算子のスペースを標準で保持。
- ブロック認識インデント – 正しく処理
function,if/elseif/else,for,while,try/catch/finally,let,begin,do,module,struct,quote,macroと、abstract type/primitive type宣言。 - Unicode認識トークン化 – グリーフ文字やその他のUnicode識別子(例
π,α,θと、Δ. - Juxtaposition乗算を保持 – 数値係数を
2πまたは0.5xは緊密に保ち、明示的な2 * πはスペースを保持。 - タイプ注釈を緊密に –
x::Int,T <: Realと、Vector{<:Shape}保持。 - コメントと文字列を尊重 – 行コメント(
#)、ネスト可能なブロックコメント(#=…=#)、トリプルクォート文字列、プレフィックス文字列(r"…",raw"…")、charリテラル、および文字列の埋め込みはそのまま残されます。 - ソフトライン長報告 – 超過行がカウントされ、手動でリファクタリングできるようにします。フォーマッターが文法を破らないようにします。
- ワンクリックでコピーとダウンロード as
formatted.jl. - 100%クライアントサイド – 何一つブラウザに残りません。
よくある質問
-
JuliaFormatterのデフォルトはどのようなスタイルガイドを従っていますか?
JuliaFormatter.jlのデフォルトスタイルはJuliaコミュニティで最も広く採用されている規則です。四スペースインデント、ほとんどの二項演算子の周りに1スペースを付ける、タイプ注釈とサブタイプ演算子を緊密に保ち(例
x::Int,T<:Real)、juxtaposition乗算(例2π)を保持し、約92文字のソフトライン幅を目標としています。いくつかのJulia組織のパッケージは、このスタイルを貢献の基準としています。 -
Juliaは数値と識別子を演算子なしで一緒に書くことを許容していますが、その理由は何ですか?
Juliaは、数値リテラルが識別子または括弧で囲まれた式に続く場合、暗黙の乗算として扱います。これは「juxtaposition」と呼ばれる機能です。したがって
2πは2 * π,0.5xは0.5 * xと、3(a + b)は3 * (a + b)を意味します。数値リテラルが最初に来なければならないため、逆(π2)は無効です。Juliaが乗算か識別子名の一部かを判断できないためです。スタイル的には、juxtapositionはスペースを挿入せずに緊密に保つのが慣例です。 -
Juliaのブロック構造はCスタイルの言語とはどう異なりますか?
Juliaはカーネルでブロックを閉じるのではなく、キーワードでブロックを閉じます。ほぼすべてのブロック開け(
function,if,for,while,let,begin,try,do,module,struct,macro,quoteと、abstract type/primitive type)はマッチングするendトークンで閉じられます。継続(elseif,else,catchと、finally)は開けと同じインデントにあり、次の深さの新しいボディを導入します。これにより、JuliaコードはRubyやLuaに近い視覚的表現になります。 -
通常の文字列と非標準(プレフィックス)文字列リテラルのJuliaにおける違いは何ですか?
Juliaでは、通常のダブルクォート文字列(
"hello")は標準のStringコンストラクタでバックスラッシュエスケープシーケンスを処理します。プレフィックス文字列(r"\d+"またはraw"C:\path")は非標準文字列マクロ(r)を呼び出します。これは正規表現(raw)、未エスケープコンテンツ(b)、バイト配列("""…""")など、多くの種類(ユーザー定義も含む)を含みます。非標準リテラル内のコンテンツはそのまま渡され、バックスラッシュはレキサスで消費されません。トリプルクォートバリエーション(
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
