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.