ものづくりのブログ

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

Crystal

【Crystal】 空の配列の作り方

Crystal で空配列を作ろうとすると以下のようにエラーになります。 icr(0.33.0) > array = [] for empty arrays use '[] of ElementType' 空配列を作るには型(クラス)を指定しないといけないようです。 (以下数値型の場合) icr(0.33.0) > array = [] of Int3…

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 デバッグ (PP!)

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) > …

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

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