今日という日が人生で一番若いんだってさ

もうすぐ50歳になるアラフィフおじさんが独学でプログラミングの勉強を始めた記録です。

『ゼロからわかる Ruby 超入門』2日目。やはり class(クラス)でつまづく。

f:id:oshimago:20191003150402j:plain

ども、id:oshimago です。
軽減税率制度がややこしくてかないません。

ゼロからわかる Ruby 超入門 (かんたんIT基礎講座)』という書籍を図書館で借りて昨日から読んでおります。

今日は第6章から。


ゼロからわかる Ruby 超入門 (かんたんIT基礎講座)

ゼロからわかる Ruby 超入門 (かんたんIT基礎講座)



第6章は「ハッシュ」について。
これは ドットインストールや Progate で JavaScriptPHP を学んだ時に出てきた「連想配列」と考え方が一緒なので(シンボルとかがあるので厳密にはちょっと違うのかもしれませんが)、そんなに苦労なくすんなりと理解できました。
each メソッドで簡単に繰り返し処理ができるので Ruby の方が直感的で分かりやすいですね。


第7章は「メソッド」について。
これも JavaScriptPHP で言うところの「関数」(function)と使い方や書き方がよく似ているので( function を def に変えるだけ)、ここも特に詰まるところはありませんでした(>厳密には違うんだと思いますが)。


で、問題なのが第8章の「クラス」について。
この章から急にレベルが上がったような気がして、章の中盤で内容が頭に入ってこず、結局章の最後まで読みきれずに諦めてしまいました。
「クラス」、「メソッド」、「レシーバ」、「インスタンス変数」、「インスタンスメソッド」、「クラスメソッド」、「継承」などなど、用語の意味とそれぞれの関係性について把握しきれませんでした。

とは言え「本書の説明が分かりづらい」ということは決して感じず、むしろ他の書籍よりは分かりやすい説明だったと思います。

ですが、「クラスはどういう時に使うのか?」、「クラスを使うことで何が便利になるのか?」というクラスの「そもそも論」が未だに理解できていません。

「クラスを使わずにコードを書くとこんなに複雑でコード量が多くなるけど、同じことをクラスを使って書くとこんなに分かりやすくコード量も少なく書けて便利ですよね!」みたいなビフォア&アフターがあったら良かったです。
文法学習的な例文だけじゃなくて、実例っぽいものが欲しかったです。


なので第9章の「モジュール」のところは残念ながら飛ばしてしまいました。


第10章は Gem ライブラリと bundler、それと sinatraJSON について。
sinatra について調べると「Ruby on Rails の簡易版」みたいなものらしく比較的簡単にウェブアプリが作れるもの・・・らしいです。
sinatra についてはまた機会をみて調べてみたいと思います。


第11章は、例外処理、正規表現などについて。
おそらくいずれはこれらが必要になる時が来るのだとは思いますが、今のところその域に達していおらずいまいちピンと来なかったので、これらについてはざっくりと目を通しただけです。


総括として。
全体としてはとても分かりやすい書籍だったと思います。前書きにも書かれていましたが、著者のお人柄でしょうか、語りかけるような口調(文体?)のおかげですんなりと読み進めることができました。

とは言え、やはり「クラス」に関しては自分にとっては鬼門でした。
本書を何度か読み返してなんとかクラスの部分を攻略したいところですが、図書館から借りている書籍なのでいずれは購入して学習する必要があるかもしれません。

ではでは、今日はこの辺で。