Verwendung von Modulen in crystal

Wenn Ihre Anwendung wächst, möchten Sie Ihren Code von einer großen .cr-Datei in kleinere Dateien aufteilen. Sie können require aus Ihrer Haupt-.cr-Datei verwenden, um Code aus anderen Dateien hinzuzufügen: require "./tools/*" Diese Anweisung fügt Code aus dem Tools-Verzeichnis hinzu, relativ zu Ihrer Haupt-.cr-Datei. Dies wird...

Weiterlesen

Der Anwendungsbereich von ecr in crystal: oder wie übergebe ich Variablen und Objekte in ECR-Vorlagen?

Als Anfänger in der Crystal-Sprache kämpfe ich immer noch damit, einige der darin enthaltenen Konzepte zu verstehen und ein Gefühl für die Codierung in Crystal zu entwickeln. Wenn ich auf schwierige Probleme stoße, die ich löse oder zu verstehen beginne, blogge ich darüber, damit auch andere davon profitieren können - denn der Mangel an Dokumentation...

Weiterlesen

Exception: Unerwartetes Zitat bei 1:2 (CSV::MalformedCSVError) Crystal

Beim Versuch, eine Amazon Pay-Datei zu analysieren, bin ich über dieses spezielle Problem gestolpert: Exception: Unerwartetes Zitat bei 1:2 (CSV::MalformedCSVError) Der Grund: Amazon Pay kodiert seine Dateien in UTF-8 mit BOM. Das BOM ist eine optionale (in UTF-8-Dateien) Markierung. Sie können es mit dem Tool xxd sehen, z.B. xxd apolish_amazon_2018DecMonthlyTransaction.csv | less Die...

Weiterlesen

Crystal auf Docker installieren: So fügen Sie das Crystal-Repository in der Dockerdatei zu Docker hinzu

Dockerfile (Auszug) 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: Gemeinsame Objektdatei kann nicht geöffnet werden

Heute habe ich mein Ubuntu auf 18.04 aktualisiert. Beim Kompilieren einer Datei mit Crystal bekomme ich folgenden Fehler: stderr: /root/.cache/crystal/usr-share-crystal-src-ecr-process.cr/macro_run: Fehler beim Laden von Shared Libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory Die betreffende Bibliothek, libevent-2.0.so.5, wurde durch libevent-2.1.so.6 ersetzt => /usr/lib/x86_64-linux-gnu/libevent-2.1.so.6 Crystal ist sich dessen natürlich bewusst...

Weiterlesen

Crystal und Alpine auf dem Raspberry Pi

Zusammenführung von zwei interessanten Technologien: Alpine Linux - eine kleine und sicherheitsorientierte Linux-Distribution Crystal - eine kompilierte Sprache mit einer schönen Syntax (ähnlich Ruby) auf dem Raspberry Pi (armhf / ARMv6, die auch den Pi Zero W unterstützen würde) ist derzeit nicht möglich, Stand 21.12.2018. Es gibt keine (zumindest keine...

Weiterlesen

Crystal: crystal language Doppelte Spur gefunden

max@morpheus:~/crystal/taxgod$ crystal run src/taxgod.cr Unbehandelte Ausnahme: 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