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.


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.


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

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.


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}

1
Bisakah Anda juga menghapus spasi setelah titik dua?
— Alex A.

Sayangnya tidak. Tetapi Anda dapat menghapus spasi setelah titik koma dan koma.
— Sheharyar
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.