Я только изучаю Crystal, но застрял в массиве хэшей смешанного типа.
Предположим, существует массив хэшей:
array = [{"a" => "Aa", "b" => 66, "c" => Time.now}]
Я могу легко добавить еще один элемент:
array << {"c" => "Bb", "d" => 2, "f" => 1.year.from_now}
Но когда я начинаю с пустого массива:
empty = [] of Hash(String, String | Time | Int64)
и попробуйте добавить новый элемент, появляется ошибка:
empty << {"a" => "Aa", "b" => 66, "c" => Time.now}
# no overload matches 'Array(Hash(String, Int64 | String | Time))#<<'
# with type Hash(String, Int32 | String | Time)
Не могли бы вы объяснить, что я делаю не так?
Ссылка на пример кода