基礎プログラミング II 第 2 回 (なになにといえばこれこれ) 「each を使って並び換え」 講義ノート目次

for 文を使うかわりに、 each 文を使ってもよい。


配列.each{ 第 0 要素から順に取り出して変数に代入
|配列の要素をしまう変数| 配列の要素を使用して行う動作
}

例えば、 hash_pair.rb で、次のように書いてみよう。


shop.keys.each{|item| shop.keys で keys の並んだ配列
printf("%s\t%d\n", item, shop[item]) この配列の要素一つ一つを
} 仮引数 item に代入する

keys method あるいは values method を使うと、 Hash 配列に含まれる key や value を配列に埋め込ませることができる。

p shop.valueshash_pair.rb に埋め込んだ結果は何か。 また、 p shop.keys ではどうか。

配列の入れ替えを行うには、sort method を使えば良かった。 reverse method も組み合わせて、 小さな順、大きな順ではそれぞれ以下のように並べ替えることができた。

p shop.values.sorthash_pair.rb に埋め込んだ結果は何か。 また、p shop.values.sort.reverse ではどうか。

printf 文によりきれいに出力される。 またその出力順は文字コード順であることが分かる。