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.