Ruby と Crystal で違うところ
gazel を書いてみた時に、Ruby と違うなーって感じたところを書いてみる。
型付き
わぁお! 型が付いてる!!
Tuple
が追加された
Crystal では Tuple
が追加されたので、引数のリストは実際 Tuple
になったよ。
除け者にされた then
私は Ruby では then
を付ける派だったんだけど、Crystal では then
付けなくてもいいんだね。
if File.exists? gazel_file then # then 付けちゃダメ! others = Dir.glob gazel_file return others.size == 1 ? others.first : gazel_file end
Dir.pwd
が無い!
Dir.pwd
の替わりに Dir.current
を使おう!
def find(options) here = Dir.current until filename = have_gazel_file? Dir.cd ".." return { "", here } if Dir.current == here || options[:no_search]? here = Dir.current end { filename, here } end
ʕ•͡ω•ʔ Dir.chdir
もないけどな。
Hash の has_key?
が無い
替わりに []?
を使おう。