Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Range | new

概要

Range.new(first, last, exclude_end = false) -> Range

詳細

first から last までの範囲オブジェクトを生成して返却。
exclude_end を true にした場合、終端を含まない。
つまり、exclude_end = false は

first..last

exclude_end = true は

first...last

と同等。

サンプルコード
require 'tbpgr_utils'

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

__END__
下記はTbpgrUtils gemの機能
bulk_puts_eval

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

出力

Range.new(2, 5).to_a        # => [2, 3, 4, 5]
Range.new(2, 5, false).to_a # => [2, 3, 4, 5]
(2..5).to_a                 # => [2, 3, 4, 5]
Range.new(2, 5, true).to_a  # => [2, 3, 4]
(2...5).to_a                # => [2, 3, 4]