higaki / learn_ruby_kansai_76

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ruby初級者向けレッスン 76回

クラス

演習問題1

属性として身長と体重を追加しよう。
体重は秘密にしよう。

require_relative 'person'

class Person
  ...

解答例

演習問題2

BMI を計算するメソッドを追加しよう。

BMI = 体重[kg] / (身長[m] ** 2)

解答例

演習問題3

Person#<=> を書き直そう。
その妥当な仕様は?

p0 = Person.new('matz')
p1 = Person.new('Matz', Time.local(1965, 4, 14))

p0 <=> p1   # => ?

解答例

  • @name@born を比較対象の属性とする。
  • @name は、大文字/小文字を区別しない。
  • 比較対象が Person でなければ nil を返す。

演習問題4

Person#=== を定義しよう。
その妥当な仕様は?

p0 = Person.new('matz')
p1 = Person.new('Matz', Time.local(1965, 4, 14))

p0 === p1   # => ?

解答例

  • ===== に比べて ゆるい 比較を行う。
  • @name のみを対象の属性とする。
  • @name は、大文字/小文字を区別しない。
  • 比較対象が Person でなければ、そのオブジェクトの文字列形式と比較する。

About


Languages

Language:Ruby 100.0%