Tipps zum Golfen in Elixir


8

Elixir ist eine relativ neue funktionale Sprache, an der ich mich sehr interessiert habe. Ich möchte allgemeine Tipps zum Golfen in Elixir erhalten und Techniken lernen, die auf Code-Golf-Probleme angewendet werden können, die für Elixir im Allgemeinen etwas spezifisch sind .


Basierend auf so vielen ähnlichen Fragen zu Python , Ruby , Javascript usw. werde ich auch versuchen, Tipps zu veröffentlichen, wenn ich mehr über die Sprache lerne.


Was hat Elixir auf der Erlang-VM mit der Erlang-Sprache zu tun?
Alex A.

Antworten:


1

String- und char-Argumente benötigen keine Leerzeichen

Zum Beispiel IO.puts"Hello, World!"und IO.puts'cat'sind gültige Programme.


1

Verwenden Sie den Pipe-Operator oder die Klammer nicht zum Aufrufen von Methoden

# 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

Injizieren Sie Code in Zeichenfolgen

Anstatt etwas zu einer Zeichenfolge zu verketten, wie:

"prefix"<>code<>"suffix"

Sie können es verwenden #{}, um es in die Zeichenfolge einzufügen:

"prefix#{code}suffix"

Dies spart 3 Bytes.


0

Kartenargumente benötigen ebenfalls keine Leerzeichen

Wie bei der Antwort von LegionMammal978 können Sie beim Übergeben von Map als Argument an eine Methode Leerzeichen weglassen :

IO.inspect%{a: 1,b: 2}

1
Können Sie die Leerzeichen nach den Doppelpunkten auf ähnliche Weise entfernen?
Alex A.

Traurigerweise Nein. Sie können jedoch Leerzeichen nach Semikolons und Kommas entfernen.
Sheharyar
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.