Skip to content

Commit

Permalink
Ruby 3.4で、RangeがイテラブルでないときにRange#stepが例外になることへの対応
Browse files Browse the repository at this point in the history
  • Loading branch information
kyanagi committed Dec 10, 2024
1 parent 4943992 commit b461044
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions refm/api/src/_builtin/Range
Original file line number Diff line number Diff line change
Expand Up @@ -869,6 +869,22 @@ ary = [0, 100, 100, 100, 200]

--- size -> Integer | Float::INFINITY | nil

#@since 3.4
範囲内の要素数を返します。

始端が整数でない場合は、始端が succ メソッドを持つ場合は nil を返し、始端が succ メソッドを持たない場合は TypeError が発生します。

@raise TypeError self がイテレート可能でない場合に発生します。

#@samplecode 例
(10..20).size # => 11
("a".."z").size # => nil
(1..).size # => Infinity
(-Float::INFINITY..Float::INFINITY).size # => can't iterate from Float (TypeError)
#@end

#@else

範囲内の要素数を返します。始端、終端のいずれかのオブジェクトが
[[c:Numeric]] のサブクラスのオブジェクトではない場合には nil を返します。

Expand All @@ -878,3 +894,4 @@ ary = [0, 100, 100, 100, 200]
(-Float::INFINITY..Float::INFINITY).size # => Infinity
#@end
#@end
#@end

0 comments on commit b461044

Please sign in to comment.