開始6日目〜超初心者、文系、30代のスタート〜
number = number+1 はnumberに1を足した値をnuberに変入
Rubyの基本概念であるオブジェクト
→Rubyの世界では、全てのデータは「オブジェクト」と呼ぶ、文字を表現するための文字列オブジェクト、数を表現するための数値オブジェクト、そして「オブジェクトを保管するオブジェクト」である配列オブジェクトやハッシュオブジェクトがあります。
Rubyにはあらかじめ定義されているクラスが存在する。今とりあげたStringクラスを始め、配列オブジェクトのArrayクラス、数値オブジェクトのIntegerクラス、ハッシュオブジェクトのHashクラスなど。
クラスメソッドは、インスタンスの親玉であるクラス自身が利用する技。
例えば、レビューの総数ならば、これは個々のレビューではなくレビュークラスが扱うべき情報です。
また、先ほどの項で出てきたnewメソッドも実はクラスメソッドです。newメソッドは「インスタンスを生成する」という振る舞いですが、こちらも個々のレビューではなくクラスが行うべきことでしょう。
インスタンスメソッドは、各インスタンスが行う技。例えば「レビューの内容を表示する」メソッドは、各レビューのインスタンスの属性値を使用するので、インスタンスメソッドとして定義するのがふさわしいでしょう。
クラスメソッドの定義ではメソッド名の前にself.をつける
クラスメソッドの呼び出しは「クラス名.メソッド名(引数)」
クラスメソッドは、クラスに対して使用し、クラスで共通の情報を使用します。つまり、インスタンスの個別の情報は関係ありません。
インスタンスメソッドは、インスタンスに対して使用し、インスタンスごとに異なる個別の情報を使用します。
書き方の違いも確認しておきましょう。両方ともクラスの定義内に書きます。しかし、クラスメソッドはdef self.classMethodのようにself.をメソッド名の前につけ、インスタンスメソッドdef instanceMethodのようにself.をつけません。
クラス内で変わらない共通の情報には、@@を二つ付けるクラス変数を使用。
そして、インスタンスごとに異なる個別の情報には、@が一つのインスタンス変数を使用。
エラーメッセージの意味を調べると、何が間違っているのかわかるようになる。
https://techacademy.jp/magazine/19776
上記はRubyのエラーに関するメッセージの意味。
ようやく自力で調べ物ができた印象です。