Tbpgr Blog

Recruiting Operations tbpgr(てぃーびー) のブログ

Ruby | Range | eql?

概要

Range#eql?(other) -> bool

詳細

以下の条件を満たせば真を返却
・ 指定された other が Range クラスのインスタンス
・ 始点と終点が eql? メソッドで比較して等しい
・ Range#exclude_end? が同じ

サンプルコード
require 'tbpgr_utils'

bulk_puts_eval binding, <<-EOS
(2..5) == Range.new(2, 5, false)
(2..5) == Range.new(2, 6, false)
(2...5) == Range.new(2, 5, true)
(2...5) == Range.new(2, 6, false)
EOS

__END__
下記はTbpgrUtils gemの機能
bulk_puts_eval

https://rubygems.org/gems/tbpgr_utils
https://github.com/tbpgr/tbpgr_utils

出力

(2..5) == Range.new(2, 5, false)  # => true
(2..5) == Range.new(2, 6, false)  # => false
(2...5) == Range.new(2, 5, true)  # => true
(2...5) == Range.new(2, 6, false) # => false