ホーム‎ > ‎Ruby入門‎ > ‎

Ruby 天気予報編1 「東京の天気予報」

天気予報編では、インターネット上にある天気予報を読み込み、処理し、加工し、適切な天気予報を返すプログラムを書くことを目標にします。
東京大学前期課程「情報科学」or「アルゴリズム入門」程度の Ruby の知識を仮定します。
私は他の優秀な TA のように丁寧に書くのが苦手なので、適当に書きます。よくわからなかったら質問 or ぐぐってください。

準備:シンボルとハッシュ

まずは、シンボルとハッシュについて大急ぎで説明します。

シンボルとは、 :apple :orange :banana のように、コロンで始まる文字の並びです。
これは、文字列みたいなものです。しかし、文字列ではありません。'apple' 'orange' 'banana' とは違います。
文字列と違って、書くときにお手軽です。反面、並べ替え・抽出といった文字解析のようなものを意図していません。

配列とは、添字を渡すと、そこに入っているオブジェクトを返すものでした。

irb(main):001:0> a = [1, 2, 3]

=> [1, 2, 3]

irb(main):002:0> a[0]

=> 1

irb(main):003:0> a[2]

=> 3


Rubyにおけるハッシュとは、キーを渡すと、そこに入っているオブジェクトを返すものです。キーには、文字列、ハッシュなど、何でも使用できます。
  • (ハッシュ関数とは、数字を返す関数で、逆が計算しづらくほぼ単射なものをいいます。普通の計算機科学では、ハッシュとは、ハッシュ関数を使ったあるデータ構造のことを本来はいいます(知りたい人は適当に調べる)。Rubyにおけるハッシュは、ハッシュを使った連想配列のことをいいます。)

irb(main):002:0> a = { :apple => 1, :orange => 2, :banana => 3 }

=> {:apple=>1, :orange=>2, :banana=>3}

irb(main):003:0> a[:apple]

=> 1

irb(main):005:0> a[:banana]

=> 3


ハッシュのキーがシンボルの場合、以下の書き方が許されます(上の a と全く同じです)。

irb(main):006:0> a = { apple: 1, orange: 2, banana: 3 }

=> {:apple=>1, :orange=>2, :banana=>3}

irb(main):007:0> a[:apple]

=> 1

irb(main):009:0> a[:banana]

=> 3




Comments