ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

Crystal

Docker の multi stage build を使って crystal のアプリ環境を構築してみる

crystal と node を使ったアプリの開発環境を準備しようとしたところ依存ライブラリが複雑で準備に時間がかかってしまいました。 そんな時、Docker multi stage build という方法が解決策になったので、ここにメモしたいと思います。 multi stage build とは…

【rails / crystal】 例外処理の書き方(ZeroDivisionError)

プログラム内である数を0で割る処理をしてしまった場合は、ZeroDivisionError という例外が発生して次の処理に移ることができなくなります。その場合、例外処理を入れてみます。 begin hoge = 10 / 0 rescue p "0で割れません" end ただこれだと、好みにもよ…

Crystal - print デバッグ

Ruby ライクなプログラミング言語 crystal で 面白い print デバッグがあったのでここにメモを残します。 'pp!'というデバッグのやり方があり、これは変数と展開された値が確認できるというものです。 REPL の icr で検証してみました。 icr(0.33.0) > a = 1…

Crystal - 型の判定方法 【is_a?】

Ruby ライクなプログラミング言語 crystal について勉強してます。今回は型の判定方法についてです。 crystal で is_a? というメソッドを使うと、型の判定が行えます。 実際に使うと以下のような感じです。ユニオン型の変数で確認してみます。 icr(0.33.0) >…

Crystal ユニオン型で演算処理

Ruby ライクなプログラミング言語 crystal について勉強してます。 今回は Crystal でユニオン型の変数について演算を行う際に苦労したので、ここにメモを残します。 REPL の icr で検証してみました。まずはユニオン型の変数(a)を作ります。 icr(0.33.0) > …

crenv を入れて crystal を使ってみる

Ruby ライクなプログラミング言語 crystal について勉強しています。今回は「crenv」を入れてみたのでその時のメモを残します。 crenvとは 手順 crenvインストール 利用できるバージョンを一覧表示 crystal インストール crystal バージョン確認 localに設定…