8 Elixirは比較的新しい関数型言語であり、私はこれに深く関心を持っています。Elixirでのゴルフに関する一般的なヒントを取得し、Elixirに一般的ないくらか特有のコードゴルフ問題に適用できるテクニックを学びたいです。 Python、Ruby、Javascriptなどについての同様の多くの質問に基づいています。言語についてさらに学ぶときに、ヒントを投稿することも試みます。 code-golf tips — シェハリヤー ソース Erlang VMで実行されているElixirはErlang言語と何が関係していますか? — Alex A.
1 文字列と文字の引数はスペースを必要としません たとえば、IO.puts"Hello, World!"およびIO.puts'cat'は有効なプログラムです。 — LegionMammal978 ソース
1 メソッドの呼び出しにパイプ演算子または括弧を使用しないでください # With Pipe arg |> M.a |> M.b |> M.c # 24 Bytes arg|>M.a|>M.b|>M.c # 18 Bytes # With Parenthesis M.c(M.b(M.a(arg))) # 18 Bytes # Only Spaces M.c M.b M.a arg # 15 Bytes — シェハリヤー ソース
1 文字列にコードを挿入する 次のように文字列に何かを連結する代わりに: "prefix"<>code<>"suffix" を使用#{}して文字列に挿入できます。 "prefix#{code}suffix" これにより、3バイトが節約されます。 — OKX ソース
0 マップ引数にもスペースは必要ありません LegionMammal978の回答と同様に、Mapを引数としてメソッドに渡す場合は、スペースを省略できます。 IO.inspect%{a: 1,b: 2} — シェハリヤー ソース 1 コロンの後のスペースも同様に削除できますか? — Alex A. 残念ながら、違います。ただし、セミコロンとコンマの後のスペースは削除できます。 — Sheharyar