これは「Ruby脳にはCrystalつらい Advent Calendar 2015」の13日目の記事です。
昨日の記事に書いたように Crystal は変数を初期化せずに宣言だけすることができます。
ですが、宣言だけだと値は未定義です。未定義のまま参照すると例外が発生したり Segmentation Fault になったりします。
class Hoge getter :hoge def initialize @hoge :: String end end p Hoge.new.hoge
% crystal hoge.cr Program exited because of a segmentation fault (11)
つらい…ような気もするけど、普通はこんなことしないから問題ないですね。