Crystal にはタプルがあってつらくない

これは「Ruby脳にはCrystalつらい Advent Calendar 2015」の9日目の記事です。

qiita.com

昨日の記事に「Tuple を使うとらくちんです」というコメントをもらいました。

タプルを使って書きなおしてみます。

[
  { 1, "hoge" },
  { 2, "fuga" },
  { 3, "piyo" },
].each do |obj|
  num, str = obj
  num + 100
  str.size
end

タプルは Ruby には無い型です。変更不可能な配列のような感じみたいです。 配列リテラルは [ ] で書きますが、代わりに { } で括るとタプルになります。 タプルは変更不可能なので、何番目の値がどのような型かもコンパイル時にわかるので、問題ないようです。

つらくない!