Formatação de Código Elixir
Guia
Formatação de Código Elixir
Cole seu código-fonte em Elixir e obtenha saída limpa, mix formatno navegador instantaneamente. Padronize a indentação, normalize o espaçamento ao redor de operadores, ordene alias / import / require / use blocos e detecte problemas na sintaxe de superfície antes que eles cheguem iex.
Como usar
- Cole código Elixir no campo de entrada, arraste um
.ex/.exsarquivo para o carregador, ou clique Tente um exemplo. - Opcionalmente ajuste o comprimento máximo de linha (padrão 98, correspondente ao
mix format) para que linhas excessivamente longas sejam marcadas. - Alternar Ordenar alias / import / require / use se desejar que blocos consecutivos sejam alfabéticos.
- A saída formatada aparece em tempo real. Copie-a ou baixe-a como
formatted.ex.
Características
- indentação estilo mix format – 2 espaços de indentação, acompanha
do/fn↔endeelse/rescue/catch/afterre-identações. - Espaçamento de operadores – padroniza
=,==,|>,->,<-,::,++,<>e amigos. - Prefixos de mapa e estrutura – aperta
%{...}e%MyStruct{...}sem quebrar cálculos de módulo. - Colchetes de bitstring – preserva
<<...>>sem adicionar espaços extras. - Ordenar alias / import / require / use – alfabeta blocos consecutivos (o indentação do keyword deve corresponder).
- Validação de sintaxe – detecta parênteses, colchetes, chaves, bitstrings,
do/enddesalinhamentos e heredocs não finalizados. - Aviso de comprimento de linha – marca linhas que excedem o valor configurado máximo (40–200).
- Heredocs, sigils, charlists – interiores de strings e
~r/.../,~s(...),~S"""..."""são preservados exatamente. - Upload por arraste e solta – formata qualquer
.ex/.exsarquivo diretamente. - 100% do lado do cliente – nada é enviado; funciona offline uma vez que a página carregue.
Perguntas frequentes
-
O que é
mix formate por que o Elixir precisa disso?mix formaté o formatação oficial de código em Elixir, introduzido na versão 1.6. Ele analisa o código-fonte em uma árvore de sintaxe (AST) e o imprime de volta usando um único estilo determinístico. Como todos os projetos em Elixir compartilham as mesmas convenções, as equipes param de discutir espaços em branco, os revisores de código focam na lógica em vez da formatação e as diferenças de código permanecem limpas entre editores e sistemas operacionais. -
O que faz o operador de pipe
|>realmente?O operador de pipe passa o valor à esquerda como o primeiro argumento para a função à direita. Assim,
data |> transform() |> save()é equivalente asave(transform(data)). Os pipes são lidos de cima para baixo, na ordem em que as operações ocorrem, o que é a razão pela qual o Elixir idiômico coloca cada|>em uma linha separada, indentada com dois espaços a partir do valor sendo pipado. -
Por que as variáveis em Elixir parecem imutáveis mesmo quando são reatribuídas?
As variáveis em Elixir são rebinds, não mutações.
x = 1seguida porx = 2cria uma nova ligação com o nomex; o valor original1ainda existe na memória até ser coletado como lixo. Dentro de padrões de correspondência,=é o operador de correspondência, não atribuição, o que é a razão pela qual{:ok, value} = resultdesestrutura e vincula simultaneamente. -
Qual a diferença entre um
dobloco e ado:abreviação de palavra-chave?def foo do ... endé a forma de bloco multilinha, onde o corpo pode conter qualquer número de expressões.def foo, do: expré a abreviação de lista de palavras-chave para um corpo de expressão única e é analisada como um par de tupla{:do, expr}em uma lista de palavras-chave. Ambos produzem bytecode idêntico; a abreviação é preferida para expressões de uma linha e a forma de bloco para corpos com múltiplas instruções. -
Por que charlists e binaries são diferentes em Elixir?
Uma string entre aspas duplas é um binário UTF-8 — uma sequência de bytes. Uma charlist entre aspas simples é uma lista ligada de códigos Unicode, herdada do Erlang onde strings são tradicionalmente listas de inteiros. A maioria das APIs em Elixir (Phoenix, Ecto, Plug) trabalha com binários; charlists aparecem principalmente em limites de interação com Erlang (
:inets,:gen_tcp, etc.) onde a biblioteca subjacente espera listas.
Instale nossas extensões
Adicione ferramentas de IO ao seu navegador favorito para acesso instantâneo e pesquisa mais rápida
恵 O placar chegou!
Placar é uma forma divertida de acompanhar seus jogos, todos os dados são armazenados em seu navegador. Mais recursos serão lançados em breve!
Ferramentas essenciais
Ver tudo Novas chegadas
Ver tudoAtualizar: Nosso ferramenta mais recente Texto (150 itens)
