1

たとえば、irb で次のように入力すると、Fixnum が返されます。

20.class
=> Fixnum

また、

20.between?(10, 30)
=> true

しかし、Ruby のドキュメントを見ていると、.between? と書かれています。まだ呼び出していない Comparable Module の一部です。

4

2 に答える 2

4

Fixnum含まれているからComparableです。

Fixnum.ancestors
# => [Fixnum, Integer, Numeric, Comparable, Object, Kernel, BasicObject]

より近い祖先 (またはそれ自体) によって上書きされない限り、祖先で定義されているものはすべて使用可能です。

于 2013-10-05T23:15:14.353 に答える
1

インクルード (ミックスインFixnum)Comparableモジュール:

p Fixnum.included_modules

# [Comparable, Kernel]
于 2013-10-05T23:16:20.520 に答える