Elixir Language
Tipps und Tricks
Suche…
Einführung
Elixir Fortgeschrittene Tipps und Tricks, die beim Codieren Zeit sparen.
Benutzerdefinierte Siegel erstellen und dokumentieren
Jedes x-Sigel ruft die jeweilige sigil_x-Definition auf
Benutzerdefinierte Siegel definieren
defmodule MySigils do #returns the downcasing string if option l is given then returns the list of downcase letters def sigil_l(string,[]), do: String.Casing.downcase(string) def sigil_l(string,[?l]), do: String.Casing.downcase(string) |> String.graphemes #returns the upcasing string if option l is given then returns the list of downcase letters def sigil_u(string,[]), do: String.Casing.upcase(string) def sigil_u(string,[?l]), do: String.Casing.upcase(string) |> String.graphemes end
Mehrere [ODER]
Dies ist nur die andere Art, mehrere ODER-Bedingungen zu schreiben. Dies ist nicht der empfohlene Ansatz, da die Bedingung bei regelmäßiger Annäherung, wenn sie als wahr ausgewertet wird, die Ausführung der verbleibenden Bedingungen beendet, die die Bewertungszeit sparen, im Gegensatz zu diesem Ansatz, bei dem alle Bedingungen, die an erster Stelle in der Liste stehen, ausgewertet werden. Das ist einfach nur schlecht, aber gut für Entdeckungen.
# Regular Approach find = fn(x) when x>10 or x<5 or x==7 -> x end # Our Hack hell = fn(x) when true in [x>10,x<5,x==7] -> x end
iex Benutzerdefinierte Konfiguration - iex Dekoration
Kopieren Sie den Inhalt in eine Datei und speichern Sie die Datei unter .iex.exs in Ihrem ~ Home-Verzeichnis, um die Magie zu sehen. Sie können die Datei auch HIER herunterladen
# IEx.configure colors: [enabled: true] # IEx.configure colors: [ eval_result: [ :cyan, :bright ] ] IO.puts IO.ANSI.red_background() <> IO.ANSI.white() <> " ❄❄❄ Good Luck with Elixir ❄❄❄ " <> IO.ANSI.reset Application.put_env(:elixir, :ansi_enabled, true) IEx.configure( colors: [ eval_result: [:green, :bright] , eval_error: [[:red,:bright,"Bug Bug ..!!"]], eval_info: [:yellow, :bright ], ], default_prompt: [ "\e[G", # ANSI CHA, move cursor to column 1 :white, "I", :red, "❤" , # plain string :green, "%prefix",:white,"|", :blue, "%counter", :white, "|", :red, "▶" , # plain string :white, "▶▶" , # plain string # ❤ ❤-»" , # plain string :reset ] |> IO.ANSI.format |> IO.chardata_to_string )