Utilização de módulos em cristal

Conforme sua aplicação cresce, você gostaria de passar de um grande arquivo .cr para separar seu código em arquivos menores. Você pode usar o requerimento do seu arquivo .cr principal para adicionar código de outros arquivos: requerer "./tools/*". Esta declaração adicionará o código do diretório de ferramentas, relativo ao seu arquivo .cr principal. Isto irá...

Weiterlesen

Exceção: Citação inesperada a 1:2 (CSV::MalformedCSVError) Cristal

Enquanto tentava analisar um arquivo de pagamento da Amazon, deparei-me com este problema em particular: Exceção: Citação inesperada à 1:2 (CSV::MalformedCSVError) A razão: A Amazon Pay codifica os seus ficheiros em UTF-8 com BOM. A BOM é um marcador opcional (em arquivos UTF-8). Você pode vê-lo com a ferramenta xxd por exemplo xxd apolish_amazon_2018DecMonthlyTransaction.csv | less The...

Weiterlesen

Instalar o Crystal on Docker: como adicionar o repositório Crystal ao Docker no Dockerfile

Dockerfile (excerto) ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn RUN apt-get update && apt-get install -y \ software- properties-commont-essential \ libevent-dev \ libssl-dev \ libxml2-dev libyaml-dev libgmp-dev libreadline-dev apt-transport-https iputils-ping git aptitude nano openssh-server && apt-key adv -keyserver keys.gnupg.net -recv-keys 09617FD37CC06B54 && add-apt-repository 'deb https://dist.crystal-lang.org/apt crystal...

Weiterlesen

Crystal libevent-2.0.so.5: não pode abrir um arquivo de objeto compartilhado

Hoje melhorei o meu Ubuntu para 18.04. Compilar um arquivo com o Crystal me dá o seguinte erro: stderr: /root/.cache/crystal/usr-share-crystal-src-ecr-process.cr/macro_run: erro ao carregar bibliotecas compartilhadas: libevent-2.0.so.5: não é possível abrir um arquivo objeto compartilhado: Não existe tal arquivo ou diretório A biblioteca em questão, libevent-2.0.so.5 foi substituída por libevent-2.1.so.6 => /usr/lib/x86_64-linux-gnu/libevent-2.1.so.6 O Crystal está ciente disso, é claro...

Weiterlesen

Crystal & Alpine no Raspberry Pi

Juntando duas tecnologias interessantes: Alpine Linux - uma distribuição Linux de tamanho pequeno e orientada à segurança Crystal - uma linguagem compilada com uma sintaxe agradável (similar ao Ruby) no Raspberry Pi (armhf / ARMv6, que também suportaria o Pi Zero W) não é possível atualmente, a partir de 21.12.2018. Não há (pelo menos não há...

Weiterlesen

Cristal: Linguagem cristalina Trilha duplicada encontrada

max@morpheus:~/crystal/taxgod$ executar cristal src/taxgod.cr Excepção desatendida: Trilha duplicada encontrada 'vat-correction' (Radix::Tree::DuplicateError) da lib/radix/src/radix/tree.cr:0:11 em 'add' da lib/radix/src/radix/tree.cr:149:11 em 'add' da lib/radix/src/radix/tree.cr:149:11 em 'add' da lib/radix/src/radix/tree.cr:108:9 em 'add' da lib/kemal/src/kemal/route_handler.cr:49:7 em 'add_to_radix_tree' da lib/kemal/src/kemal/route_handler.cr:21:7 em 'add_route' de lib/kemal/src/kemal/dsl.cr:12:1 em 'post' de src/vatcorrection.cr:26:2 em '__crystal_main' de /usr/share/crystal/src/crystal/main.cr:97:5 em 'main_user_code' de /usr/share/crystal/src/crystal/main.cr:86:7 em 'main' de /usr/share/crystal/src/crystal/main.cr:106:3 em 'main'...

Weiterlesen