中級 › Comparable を include しても <=> が無いと比較演算子は使えない › パターン5
Comparable を include しても <=> が無いと比較演算子は使えない
Comparableモジュールをincludeするだけでは <、>、between? などのメソッドは動きません。
1 class Rank 2 include Comparable 3 attr_reader :value 4 def initialize(value) 5 @value = value 6 end 7 8 ________________________________________________ ^ 9 end 10 11 puts Rank.new(1) < Rank.new(2)
main.rb:11:in `<': comparison of Rank with Rank failed (ArgumentError)
from main.rb:11:in `<main>'
空欄を埋めて実行を通す
<=>を実装すれば、<や>だけでなくbetween?やclampなどComparableの全メソッドが一度に使えるようになります。
次の問題