Uso de módulos en crystal

A medida que su aplicación crece, le gustaría pasar de un gran archivo .cr a separar su código en archivos más pequeños. Puedes usar require de tu archivo .cr principal para añadir código de otros archivos: require "./tools/*" Esta declaración añadirá código del directorio tools, relativo a su archivo .cr principal. Esto...

Weiterlesen

Excepción: Cita inesperada en 1:2 (CSV::MalformedCSVError) Crystal

Mientras trataba de analizar un archivo de pago de Amazon, me encontré con este problema en particular: Excepción: Cita inesperada en 1:2 (CSV::MalformedCSVError) La razón: Amazon Pay codifica sus archivos en UTF-8 con BOM. El BOM es un marcador opcional (en archivos UTF-8). Puedes verlo con la herramienta xxd por ejemplo xxd apolish_amazon_2018DecMonthlyTransaction.csv | menos El...

Weiterlesen

Instalar Crystal en Docker: cómo añadir el repositorio de Crystal a Docker en el Dockerfile

Dockerfile (extracto) ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn RUN apt-get update && apt-get install -y \ software-properties-common \ build-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 \N-y add-apt-repository 'deb https://dist.crystal-lang.org/apt crystal...

Weiterlesen

Crystal libevent-2.0.so.5: no se puede abrir el archivo de objetos compartidos

Hoy he actualizado mi Ubuntu a 18.04. Al compilar un archivo con Crystal me da el siguiente error: stderr: /root/.cache/crystal/usr-share-crystal-src-ecr-process.cr/macro_run: error al cargar bibliotecas compartidas: libevent-2.0.so.5: no se puede abrir el archivo de objetos compartidos: No such file or directory La biblioteca en cuestión, libevent-2.0.so.5 ha sido sustituida por libevent-2.1.so.6 => /usr/lib/x86_64-linux-gnu/libevent-2.1.so.6 Crystal es, por supuesto, consciente de ello...

Weiterlesen

Crystal & Alpine en la Raspberry Pi

Reunir dos tecnologías interesantes: Alpine Linux - una distribución de Linux de pequeño tamaño y orientada a la seguridad Crystal - un lenguaje compilado con una sintaxis agradable (similar a Ruby) en la Raspberry Pi (armhf / ARMv6, que también soportaría la Pi Zero W) no es posible actualmente, a partir del 21.12.2018. No hay (al menos no...

Weiterlesen

Cristal: lengua de cristal Rastro duplicado encontrado

[email protected]:~/crystal/taxgod$ crystal run src/taxgod.cr Unhandled exception: Duplicate trail found 'vat-correction' (Radix::Tree::DuplicateError) from lib/radix/src/radix/tree.cr:0:11 in 'add' from lib/radix/src/radix/tree.cr:149:11 in 'add' from lib/radix/src/radix/tree.cr:149:11 in 'add' from lib/radix/src/radix/tree.cr:108:9 in 'add' from lib/kemal/src/kemal/route_handler.cr:49:7 in 'add_to_radix_tree' from lib/kemal/src/kemal/route_handler.cr:21:7 in 'add_route' from lib/kemal/src/kemal/dsl.cr:12:1 in 'post' from src/vatcorrection.cr:26:2 in '__crystal_main' from /usr/share/crystal/src/crystal/main.cr:97:5 in 'main_user_code' from /usr/share/crystal/src/crystal/main.cr:86:7 in 'main' from /usr/share/crystal/src/crystal/main.cr:106:3 in 'main'...

Weiterlesen