中級 › Comparable を include しても <=> が無いと比較演算子は使えない › パターン4
Comparable を include しても <=> が無いと比較演算子は使えない
Comparableモジュールをincludeするだけでは <、>、between? などのメソッドは動きません。
1 class Distance 2 include Comparable 3 attr_reader :meters 4 def initialize(meters) 5 @meters = meters 6 end 7 8 __________________________________________________ ^ 9 end 10 11 puts Distance.new(5) < Distance.new(10)
main.rb:11:in `<': comparison of Distance with Distance failed (ArgumentError)
from main.rb:11:in `<main>'
空欄を埋めて実行を通す
<=>は「自分がotherより小さいか同じか大きいか」を-1・0・1で返すメソッドです。これがComparableの土台になります。
次の問題