初心者のRuby奮闘記⑩
どうもこんにちは、うp主のSoraです。
久しぶりのRuby奮闘記。第十回目です。
知らん間に一ヶ月くらいたってたんだね、申し訳ない。
ハッシュまたは連想配列
これは配列の一つ一つに対して名前を付けるようなものです。
x = Array.new
みたいな感じでxってつけてるやんって思うかもしれないですがその中身に名前を付けます。
ハッシュを作る
ハッシュを作るには、前やった配列を作るときみたいに
変数名 = Hash.new
とします。
ハッシュの内容を作るには、
ハッシュ名 = { 'キー名' => 値 , 'キー名(2)' = > 値 }
という風にします。ちなみにキーというのは、配列の一個一個に付ける名前みたいなやつのことです。
追加や変更は、
変数名 = 配列 [キー]
配列 [キー] = 値
といった具合に行います。
作るとき以外はほぼほぼ一緒です。
作るときは=>が必要、Array.newではなくHash.newであること、キーには''(クォーテーション)が必要なことさえ気を付ければ大丈夫でしょう。
for文でハッシュを使う
使い方は普通の配列と一緒です。
for 変数 in ハッシュ
処理内容...
end
で使えます。
ただし、変数に入るキーはキーではなく普通の配列のような「0,1,2...」というようなものとなります。そこだけ注意が必要かと思います。
配列やハッシュをeachで使用する
地味にこれ、each「文」ではないんですよねー。
実は、Rubyの特徴である「オブジェクト指向」であるので、配列も変数もハッシュも全部「オブジェクト」となるんです。
そこに用意されている、「メゾッド」を使用することができるんです。
JavaScriptとかでもよく聞きますね。
そう、eachはメゾッドの一つなんです。
書き方としては、
変数 .each do | 変数 |
処理内容
end
配列 .each do | 変数 |
処理内容
end
というようになっています。
一応eachメゾッドは配列・ハッシュオブジェクトにある機能です。
説明としては変数とメゾッドである印である、.とeachを書いた後、doと|、変数とまた|といった感じです。
その後ろはifやforなどと同じように処理内容を書き、endで終わらせる感じです。
久しぶりに例を挙げておきます。
b = [1, 2, 4, 8, 16, 32, 64 ,128, 256, 512, 1024]
b.each do | a |
puts(a.to_s)
end
という感じです。
一行目でbという配列を定めて、
二行目でb配列のeachメゾッドを動作させ、その配列の内容を一回繰り返すとaにひとつずつ代入して、
三行目でループの間aの内容を表示させて、
四行目で終わらせる
というのでいいのでしょうか。
いったん今日は終わります。数日後に10回やったまとめをYouTubeに投稿するので、待っていてください。こことここ。参考にさせていただきました。編集ソフトにShotcut導入しようかなぁー。
それと、
登録者17人ありがとう!
↑変なことなった
まぁありがとうございます!
それでは!
0コメント