Zoeken…


Invoering

Elixir Geavanceerde tips en trucs die onze tijd besparen tijdens het coderen.

Aangepaste sigils maken en documenteren

Elke x sigil roept de respectieve sigil_x-definitie op

Aangepaste Sigils definiëren

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

Meerdere [OF]

Dit is gewoon de andere manier om meerdere OF-voorwaarden te schrijven. Dit is niet de aanbevolen aanpak, omdat in een normale aanpak wanneer de voorwaarde naar waar evalueert, wordt gestopt met het uitvoeren van de resterende voorwaarden die de evaluatietijd besparen, in tegenstelling tot deze benadering die alle voorwaarden eerst in de lijst evalueert. Dit is gewoon slecht maar goed voor ontdekkingen.

# 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 aangepaste configuratie - iex decoratie

Kopieer de inhoud naar een bestand en sla het bestand op als .iex.exs in je ~ home-directory en bekijk de magie. U kunt het bestand ook HIER downloaden

# 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow