サメと猫

Ruby勉強してて初めて詰まったとこ

最近Rubyの勉強を始めた。Progateでサクサク基礎学習してたんだけど、Progateって親切すぎて、すごい細かく指示してくれながら進むから、その一作業ずつに意識がいって、全体で自分が何をしているのか意識しづらい。だから頭に残らなくて、ついさっきやった事の応用求められてもあれ?こんなのやったっけ?ってなることある。

そんな感じで、ProgateのRubyコースも終盤に入ったあたりで割としっかりコードを書く問題が来たとき全く頭に入って無いことに驚いた。そして指示の日本語がやけに分かりにくい。

”変数countを定義し、受け取った入力の値を数値に変換して代入してください。”
とか
”お会計は○○円です となるように出力してください。このとき、○○の部分には、get_total_priceメソッドに引数countを渡して呼び出したときの戻り値を入れてください。”
とか。

専門用語!!!答えを見たらまだ「ああそういうことか」ってわかるんだけどとにかく説明がややこしい。「受け取った入力の値を数値に変換し代入してください。」って言われて「分かりました、任せてください。」ってなる初学者いるんか??

とにかくここの問題で今まで出てきたコードの書き方がほとんど出てきて、それがなんか似ているから混乱したので、教材のスライドを最初から見直して整理した。知らない人からしたらなんだそりゃって感じだと思うけど、メモとしてここに書き残します。合ってるかは知らん。

まず "〇〇〇[〇〇〇]" これは配列とかハッシュでまとめた要素のなかの一つを取り出すときの書き方で、配列名[要素]みたいな感じ。

次の "〇〇〇(〇〇〇)" これはあらかじめ決めたメソッドの中の引数(受け取り枠)の中に入れる具体的な値を()の中に指定する感じ。メソッド名(引数に与える値)みたいな。

最後の "〇〇〇.〇〇〇" これが一番ややこしかった。まずクラスとインスタンスをしっかり理解してなかったんだけど、それは教材読み返したりすればいいから書かない。で、クラスのなかで決めた変数とか、メソッドを、実際にクラスを元に作ったインスタンスに対して使いたい時に、インスタンス.変数(またはメソッド)って書くみたい。だから、上のメソッドと引数のやつと組み合わせて、
"インスタンス.メソッド(引数)" みたいになることもある。これいきなりやらすの酷くない?今まで甘やかされてたのに思いつかないよ...

とりあえず次に進む前に整理できたから多少は頭に残るかな?また何かあったらここに書く。勉強はしんどいね。