Crystal というのが Ruby 似の言語らしいので試してみる。
vim
https://github.com/rhysd/vim-crystal を入れる。
仕様その他
http://crystal-lang.org/docs/ に公式のドキュメントがあるので読んでいく。
大体 Ruby と同じ文法だと思って差し支えないようだけれど、いくつか差異があるので気をつけながら読む。
ぐっと来たとこ書いていく
型
a = 1
a = "string"
これは通る。
オーバーロード
class Pigeon
getter name
def initialize(@name)
end
def appeal
puts("My name is #{@name}.")
end
def appeal(n : Int)
n.times do
appeal
end
end
end
hato = Pigeon.new("rosylilly")
hato.appeal
hato.appeal(5)
hato.appeal(5.5) # => no overload matches
Ruby にも欲しい……
名前付き引数
そう、こう、こういうのでいいんだよ。
Abstract types
さっきから欲しいものバンバンでてきてすごい
Macro
マクロあるの……