Tips untuk bermain golf di Elixir

8

Elixir adalah bahasa fungsional yang relatif baru, yang saya sangat tertarik. Saya ingin mendapatkan tips umum tentang golf di Elixir dan mempelajari teknik yang dapat diterapkan pada masalah kode-golf yang agak spesifik untuk Elixir secara umum .


Berdasarkan begitu banyak pertanyaan serupa tentang Python , Ruby , Javascript , dll. Saya juga akan mencoba memposting tip saat saya mempelajari lebih lanjut tentang bahasa tersebut.

Sheharyar
sumber
Apa yang harus dilakukan Elixir pada Erlang VM dengan bahasa Erlang?
Alex A.

Jawaban:

1

Argumen string dan char tidak membutuhkan spasi

Misalnya, IO.puts"Hello, World!"dan IO.puts'cat'merupakan program yang valid.

LegionMammal978
sumber
1

Jangan gunakan operator Pipa atau tanda kurung untuk metode panggilan

# 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
Sheharyar
sumber
1

Suntikkan kode ke dalam string

Alih-alih menyatukan sesuatu menjadi string, seperti:

"prefix"<>code<>"suffix"

Anda dapat menggunakannya #{}untuk memasukkannya ke dalam string:

"prefix#{code}suffix"

Ini akan menghemat 3 byte.

Okx
sumber
0

Argumen peta juga tidak membutuhkan spasi

Seperti jawaban LegionMammal978 , Anda dapat meninggalkan ruang ketika melewati Peta sebagai argumen ke metode:

IO.inspect%{a: 1,b: 2}
Sheharyar
sumber
1
Bisakah Anda juga menghapus spasi setelah titik dua?
Alex A.
Sayangnya tidak. Tetapi Anda dapat menghapus spasi setelah titik koma dan koma.
Sheharyar