Elixir Language
Trucs et astuces
Recherche…
Introduction
Elixir Des astuces et des astuces avancées pour gagner du temps lors du codage.
Création de Sigils personnalisés et documentation
Chaque x sigil appelle la définition sigil_x respective
Définir des Sigils personnalisés
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
Multiple [OU]
Ceci est juste l’autre façon d’écrire des conditions multiples OU. Ce n'est pas l'approche recommandée car, dans une approche régulière, lorsque la condition est vraie, elle arrête d'exécuter les conditions restantes qui sauvent la durée de l'évaluation, contrairement à cette approche qui évalue d'abord toutes les conditions de la liste. C'est mauvais mais bon pour les découvertes.
# 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
Configuration personnalisée iex - Décoration iex
Copiez le contenu dans un fichier et enregistrez le fichier sous le nom de fichier .iex.exs dans votre répertoire de base et consultez la magie. Vous pouvez également télécharger le fichier ICI
# 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 )