Modules gebruiken in kristal

Naarmate je applicatie groeit, zou je willen evolueren van één groot .cr bestand naar het scheiden van je code in kleinere bestanden. Je kan require van je hoofd .cr bestand gebruiken om code van andere bestanden toe te voegen: require "./tools/*" Dit statement zal code toevoegen uit de tools directory, relatief aan je hoofd .cr bestand. Dit zal...

Weiterlesen

Uitzondering: Onverwacht citaat op 1:2 (CSV::MalformedCSVError) Kristal

Toen ik een Amazon betaalbestand probeerde te parsen, stuitte ik op dit specifieke probleem: Exception: Unexpected quote at 1:2 (CSV::MalformedCSVError) De reden: Amazon Pay codeert zijn bestanden in UTF-8 met BOM. De BOM is een optionele (in UTF-8 bestanden) marker. U kunt het zien met de tool xxd bijvoorbeeld xxd apolish_amazon_2018DecMonthlyTransaction.csv | less De...

Weiterlesen

Crystal installeren op Docker: hoe de Crystal repository toe te voegen aan Docker in het Dockerfile

Dockerfile (uittreksel) 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 \ && add-apt-repository 'deb https://dist.crystal-lang.org/apt crystal...

Weiterlesen

Crystal libevent-2.0.so.5: kan gedeeld objectbestand niet openen

Vandaag heb ik mijn Ubuntu geüpgrade naar 18.04. Het compileren van een bestand met Crystal geeft me de volgende foutmelding: stderr: /root/.cache/crystal/usr-share-crystal-src-ecr-process.cr/macro_run: fout bij het laden van gedeelde bibliotheken: libevent-2.0.so.5: kan gedeeld objectbestand niet openen: No such file or directory De bibliotheek in kwestie, libevent-2.0.so.5 is vervangen door libevent-2.1.so.6 => /usr/lib/x86_64-linux-gnu/libevent-2.1.so.6 Crystal is hier natuurlijk van op de hoogte...

Weiterlesen

Crystal & Alpine op de Raspberry Pi

Het samenbrengen van twee interessante technologieën: Alpine Linux - een kleinschalige en op beveiliging gerichte Linux-distributie Crystal - een gecompileerde taal met een mooie syntaxis (vergelijkbaar met Ruby) op de Raspberry Pi (armhf / ARMv6, die ook de Pi Zero W zou ondersteunen) is op dit moment, per 21.12.2018, niet mogelijk. Er is geen (althans geen...

Weiterlesen

Kristal: kristal taal Duplicaat spoor gevonden

max@morpheus:~/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' uit lib/radix/src/radix/tree.cr:108:9 in 'add' uit lib/kemal/src/kemal/route_handler.cr:49:7 in 'add_to_radix_tree' uit lib/kemal/src/kemal/route_handler.cr:21:7 in 'add_route' uit lib/kemal/src/kemal/dsl.cr:12:1 in 'post' uit src/vatcorrection.cr:26:2 in '__crystal_main' uit /usr/share/crystal/src/crystal/main.cr:97:5 in 'main_user_code' uit /usr/share/crystal/src/crystal/main.cr:86:7 in 'main' uit /usr/share/crystal/src/crystal/main.cr:106:3 in 'main'...

Weiterlesen