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

)


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow