Crystal で空配列を作ろうとすると以下のようにエラーになります。
icr(0.33.0) > array = [] for empty arrays use '[] of ElementType'
空配列を作るには型(クラス)を指定しないといけないようです。
(以下数値型の場合)
icr(0.33.0) > array = [] of Int32 => []
複数の型に対応させるには以下のように記述します。
icr(0.33.0) > array = [] of Int32 | String => []
要素を追加してみます。
icr(0.33.0) > array.push(1) => [1] icr(0.33.0) > array.push("a") => [1, "a"]
数値も文字列も追加できました。
そういえば、「<<」の記号でも要素を追加できるか、ついでに検証してみました。
icr(0.33.0) > array << "hoge" => [1, "a", "hoge"]