Crystal 入門

  • 77
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Crystal というのが Ruby 似の言語らしいので試してみる。

vim

https://github.com/rhysd/vim-crystal を入れる。

仕様その他

http://crystal-lang.org/docs/ に公式のドキュメントがあるので読んでいく。

大体 Ruby と同じ文法だと思って差し支えないようだけれど、いくつか差異があるので気をつけながら読む。

ぐっと来たとこ書いていく

a = 1
a = "string"

これは通る。

オーバーロード

http://crystal-lang.org/docs/syntax_and_semantics/overloading.html

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 にも欲しい……

名前付き引数

http://crystal-lang.org/docs/syntax_and_semantics/default_and_named_arguments.html

そう、こう、こういうのでいいんだよ。

Abstract types

http://crystal-lang.org/docs/syntax_and_semantics/virtual_and_abstract_types.html

さっきから欲しいものバンバンでてきてすごい

Macro

http://crystal-lang.org/docs/syntax_and_semantics/macros.html

マクロあるの……

触ってみた