Elixir Language
Consejos y trucos
Buscar..
Introducción
Elixir Avanzado consejos y trucos que ahorran nuestro tiempo durante la codificación.
Creando sigilos personalizados y documentando
Cada x sigil llama a la respectiva definición de sigil_x
Definiendo sigilos personalizados
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
Múltiples [o]
Esta es solo la otra forma de escribir las condiciones OR múltiples. Este no es el enfoque recomendado porque en el enfoque regular cuando la condición se evalúa como verdadera, deja de ejecutar las condiciones restantes que ahorran el tiempo de evaluación, a diferencia de este enfoque que evalúa todas las condiciones primero en la lista. Esto es solo malo pero bueno para descubrimientos.
# 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
Configuración personalizada de iex - Decoración de iex
Copie el contenido en un archivo y guárdelo como .iex.exs en su directorio principal y vea la magia. También puedes descargar el archivo AQUÍ.
# 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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow