التابع size
الخاص بالصنف Integer
في روبي
يعيد التابع size
عدد بتات قيمة العدد الذي استُدعي معه.
يُقصد بـ "عدد البتات" موضع أعلى بتة والتي تختلف عن بتة الإشارة [sign bit] (حيث يكون موضع البتة الأقل دلالة [least significant bit] هو 1). إذا لم يكن تلك البتة موجودة (أي إذا كانت قيمة الموضع صفر أو ناقص واحد) ، فسيُعاد الصفر.
هذا التابع يعيد ناتج التعبير ceil(log2(int < 0 ? -int : int+1))
.
يمكن استخدام هذا التابع لرصد التجاوزات (overflow) في Array#pack
، كما يلي:
if n.size < 32
[n].pack("l") # no overflow
else
raise "overflow"
end
البنية العامة
size → int
المعاملات
القيمة المُعادة
يعيد التابع size
عدد بتات قيمة العدد الذي استُدعي معه.
يُقصد بـ "عدد البتات" موضع أعلى بتة والتي تختلف عن بتة الإشارة [sign bit] (حيث يكون موضع البتة الأقل دلالة [least significant bit] هو 1). إذا لم يكن تلك البتة موجودة (أي إذا كانت قيمة الموضع صفر أو ناقص واحد) ، فسيُعاد الصفر.
هذا التابع يعيد ناتج التعبير ceil(log2(int < 0 ? -int : int+1))
.
يمكن استخدام هذا التابع لرصد التجاوزات (overflow) في Array#pack
، كما يلي:
if n.size < 32
[n].pack("l") # no overflow
else
raise "overflow"
end
أمثلة
مثال على استخدام التابع size
:
1.size #=> 8
-1.size #=> 8
2147483647.size #=> 8
(256**10 - 1).size #=> 10
(256**20 - 1).size #=> 20
(256**40 - 1).size #=> 40
انظر أيضا
- التابع
bit_length
: يعيد التابعbit_length
عدد بتات قيمة العدد الذي استُدعي معه.
يُقصد بـ "عدد البتات" موضع أعلى بتة والتي تختلف عن بتة الإشارة [sign bit] (حيث يكون موضع البتة الأقل دلالة [least significant bit] هو 1). إذا لم يكن تلك البتة موجودة (أي إذا كانت قيمة الموضع صفر أو ناقص واحد) ، فسيُعاد الصفر.
هذا التابع يعيد ناتج التعبير ceil(log2(int < 0 ? -int : int+1))
.
يمكن استخدام هذا التابع لرصد التجاوزات (overflow) في Array#pack
، كما يلي:
if n.bit_length < 32
[n].pack("l") # no overflow
else
raise "overflow"
end