Entries from 2021-08-21 to 1 day

既存の演算子の再定義と既存クラスの継承

既存の演算子の再定義 Rubyでは一見演算子に見えて、メソッドとして定義されているものがある。 == === + - > < これらはクラスごとに再定義可能である。どの演算子が再定義できる、できないかは公式ドキュメントで確認すること。 例 class User def ==(val)…

クラス構文直下のメソッド呼び出し

Rubyでは、メソッドの定義がなくてもクラス構文で書いたコードを実行できる。 class Foo def self.bar puts "pul2" end # これよりも上にクラスメソッドを定義しておく self.bar end => pul2 class Foo 3.times do puts "pul4" end end => pul4 => pul4 => p…

クラスにおける定数

Rubyのクラスの定数であるが、アルファベット大文字・数字、アンダースコアで構成されるのが多い。 例 USER_NUMBER = 10 COUNTRY_NUMBER = {japan: 10, india: 20, spain: 30} 定数はインスタンスメソッドからでもクラスメソッドからでも、参照できる。 clas…