40代のおっさんが、何の知識もない状態から始めております

プログラミング学習。言語はRuby

いわずと知れた日本人により開発された言語で、日本人にとっては

とっつきやすい言語とされています。

そんな理由から始めてみたものの…

まぁ突っかかりますよね(汗)

初めに選んだ参考書が、わかりやすくシンプルに書かれているのはいいのですが

ところどころ端折られているような気がして…

ゼロからわかるRuby超入門

現在使用している参考書がこれなのですが、

この本の一番の特徴は、キャプチャー毎に練習問題が用意されており

学んだことを文章から導き出し、コードを書くという

考えてアウトプットできる機会があるため、非常にためになるとは思っています。

ですが、その中でちょこちょこと”?マーク”が浮かぶようなシーンが…

例えばですが、

menu = {“コーヒー” => 300, “カフェラテ” => 400}から、全キーを持つ配列

[”コーヒー”, “カフェラテ”]を作ってください。

とあります。

解答例として

menu = {“コーヒー” => 300, “カフェラテ” => 400}

keys = []

menu.each_key do |key, value|

keys.push(key)

end

puts keys

と書いてあります。

まず keys = [] ← これはどこにも解説がありません

おそらくkeys という変数の中に何かを代入するという発想なのでしょうが…

また

menu.each_key do |key, value|

この行についても each_key do というメソッドが急に現れたためパニックです。

each do はよく出てきてすべて代入するといったニュアンスなんで

その観点から行くとkey(コーヒーとカフェラテ)のすべてを代入するといったイメージなのでしょうか…

でもそうなると |key, value|の意味が理解できません…

さらに言うならば

keys.push(key) この部分は一つも理解できませんでした…

push は末尾に追加するメソッド

keysに追加する…急に!?

しかもpush(key)の(key)って何!?

存在自体が意味不明です…

なるべくやった部分は理解してから次に進みたいと思っていたのですが

ここで完全につまずきました…orz

もしかしたらこの先にこの部分の解説が出てくるかもしれないので

とりあえず前に進んでみることとします…

誰か詳しく解説できる方いませんか( ノД`)シクシク…