Ruby/Справочник/Fixnum: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
м <source> -> <syntaxhighlight> (phab:T237267)
 
Строка 21:
===Fixnum::induced_from===
----
<sourcesyntaxhighlight lang=ruby>Fixnum.induced_from(obj) #-> fixnum</sourcesyntaxhighlight>
----
Преобразует ''obj'' в объект класса <tt>Fixnum</tt>. Работает с [[Ruby/Справочник/Numeric|числовыми]] параметрами. Еще работает с [[Ruby/Справочник/Symbol|символами]], но рекомендуется не использовать данную возможность.
===Fixnum#%===
----
<sourcesyntaxhighlight lang=ruby>fix % other #-> numeric
fix.modulo(other) #-> numeric</sourcesyntaxhighlight>
----
Возвращает остаток от деления числа ''fix'' на число''other''.
<sourcesyntaxhighlight lang=ruby>5 % 2 #-> 1
5 % -2 #-> -1
5 % -2.2 #-> -1.6</sourcesyntaxhighlight>
{{info|Полезно взглянуть в описание метода [[Ruby/Справочник/Numeric#Numeric#divmod|Numeric#divmod]] для получения более детальной информации}}
{{Идентичные методы|Fixnum|%|modulo}}
Строка 38:
===Fixnum#&===
----
<sourcesyntaxhighlight lang=ruby>fix & other #-> integer</sourcesyntaxhighlight>
----
Побитовое <tt>И</tt>.
===Fixnum#*===
----
<sourcesyntaxhighlight lang=ruby>fix * numeric #-> numeric_result</sourcesyntaxhighlight>
----
Производит умножение: результат является одним из потомков класса [[Ruby/Справочник/Numeric|Numeric]] и зависит от величины результата.
Строка 49:
===Fixnum#**===
----
<sourcesyntaxhighlight lang=ruby>fix ** other #-> rational или numeric
fix.rpower(other) #-> numeric или rational</sourcesyntaxhighlight>
----
Производит возведение числа ''fix'' в степень ''other''. Возвращает [[Ruby/Справочник/Rational|рациональное число]], если результат рациональный (то есть, когда ''other'' < 0).
<sourcesyntaxhighlight lang=ruby>2 ** 8 #-> 256
2 ** -8 #-> Rational(1,256)</sourcesyntaxhighlight>
{{Идентичные методы|Fixnum|**|rpower}}
{{Похожие методы|Fixnum|*|+|-|/|%|power!}}
===Fixnum#+===
----
<sourcesyntaxhighlight lang=ruby>fix + numeric #-> numeric_result</sourcesyntaxhighlight>
----
Производит сложение: результат является одним из потомков класса [[Ruby/Справочник/Numeric|Numeric]] и зависит от величины результата.
Строка 65:
===Fixnum#-===
----
<sourcesyntaxhighlight lang=ruby>fix - numeric #-> numeric_result</sourcesyntaxhighlight>
----
Производит вычитание: результат является одним из потомков класса [[Ruby/Справочник/Numeric|Numeric]] и зависит от величины результата.
Строка 71:
===Fixnum#-@===
----
<sourcesyntaxhighlight lang=ruby>-fix #-> integer</sourcesyntaxhighlight>
----
Отрицание <tt>fix</tt> (может вернуть значение класса [[Ruby/Справочник/Bignum|Bignum]]).
===Fixnum#/===
----
<sourcesyntaxhighlight lang=ruby>fix / numeric #-> numeric_result
fix.div(numeric) #-> numeric_result</sourcesyntaxhighlight>
----
Производит целочисленное деление: результат является одним из потомков класса [[Ruby/Справочник/Numeric|Numeric]] и зависит от величины результата.
Строка 84:
===Fixnum#<===
----
<sourcesyntaxhighlight lang=ruby>fix < other #-> true или false</sourcesyntaxhighlight>
----
Возвращает <tt>true</tt>, если значение числа ''fix'' меньше, чем значение числа ''other''.
===Fixnum#<<===
----
<sourcesyntaxhighlight lang=ruby>fix << count #-> integer</sourcesyntaxhighlight>
----
Побитовый сдвиг числа ''fix'' влево на ''count'' позиций (вправо, если ''count'' меньше нуля).
===Fixnum#<====
----
<sourcesyntaxhighlight lang=ruby>fix <= other #-> true или false</sourcesyntaxhighlight>
----
Возвращает <tt>true</tt>, если значение числа ''fix'' меньше или равно значению числа ''other''.
===Fixnum#<=>===
----
<sourcesyntaxhighlight lang=ruby>fix <=> numeric #-> -1, 0, +1</sourcesyntaxhighlight>
----
Сравнение -- возвращает -1, 0 или +1, если значение числа ''fix'' меньше, равно или больше значения числа ''numeric'', соответственно. Это базис для тестов в примеси [[Ruby/Справочник/Comparable|Comparable]].
===Fixnum#=====
----
<sourcesyntaxhighlight lang=ruby>fix == other #-> true или false</sourcesyntaxhighlight>
----
Возвращает <tt>true</tt>, если значение числа ''fix'' равно значению числа ''other''.
<sourcesyntaxhighlight lang=ruby>1 == 2 #-> false
1 == 1.0 #-> true</sourcesyntaxhighlight>
===Fixnum#>===
----
<sourcesyntaxhighlight lang=ruby>fix > other #-> true или false</sourcesyntaxhighlight>
----
Возвращает <tt>true</tt>, если значение числа ''fix'' больше, чем значение числа ''other''.
===Fixnum#>====
----
<sourcesyntaxhighlight lang=ruby>fix >= other #-> true или false</sourcesyntaxhighlight>
----
Возвращает <tt>true</tt>, если значение числа ''fix'' больше или равно, чем значение числа ''other''.
===Fixnum#>>===
----
<sourcesyntaxhighlight lang=ruby>fix >> count #-> integer</sourcesyntaxhighlight>
----
Побитовый сдвиг числа ''fix'' вправо на ''count'' позиций (влево, если ''count'' меньше нуля).
===Fixnum#[]===
----
<sourcesyntaxhighlight lang=ruby>fix[n] #-> 0, 1</sourcesyntaxhighlight>
----
Побитовый доступ -- возвращает ''n''ый бит двоичного представления числа ''fix'', где ''fix''[0] -- младший significant бит.
<sourcesyntaxhighlight lang=ruby>a = 0b11001100101010
30.downto(0) do |n| print a[n] end</sourcesyntaxhighlight>
''результат'':
<tt>0000000000000000011001100101010</tt>
===Fixnum#^===
----
<sourcesyntaxhighlight lang=ruby>fix ^ other #-> integer</sourcesyntaxhighlight>
----
Побитовое <tt>ИСКЛЮЧАЮЩЕЕ ИЛИ</tt>.
===Fixnum#abs===
----
<sourcesyntaxhighlight lang=ruby>fix.abs #-> fixnum</sourcesyntaxhighlight>
----
Возвращает [[w:Абсолютное значение|абсолютное значение]] числа ''fix''.
<sourcesyntaxhighlight lang=ruby>-12345.abs #-> 12345
12345.abs #-> 12345</sourcesyntaxhighlight>
===Fixnum#div===
----
<sourcesyntaxhighlight lang=ruby>fix / numeric #-> numeric_result
fix.div(numeric) #-> numeric_result</sourcesyntaxhighlight>
----
Производит целочисленное деление: результат является одним из потомков класса [[Ruby/Справочник/Numeric|Numeric]] и зависит от величины результата.
Строка 154:
===Fixnum#divmod===
----
<sourcesyntaxhighlight lang=ruby>fix.divmod(numeric) #-> array</sourcesyntaxhighlight>
----
{{info|Полезно взглянуть в описание метода [[Ruby/Справочник/Numeric#Numeric#divmod|Numeric#divmod]] для получения более детальной информации}}
===Fixnum#id2name===
----
<sourcesyntaxhighlight lang=ruby>fix.id2name #-> string или nil</sourcesyntaxhighlight>
----
Возвращает имя объекта с <tt>id</tt> равным ''fix''. Возвращает <tt>nil</tt>, если в символьной таблице не найдено ни одного символа, соответствующего значению ''fix''.
<sourcesyntaxhighlight lang=ruby>symbol = :@inst_var #-> :@inst_var
id = symbol.to_i #-> 9818
id.id2name #-> "@inst_var"</sourcesyntaxhighlight>
{{info|
* Для более полного представления о работе данного метода советуем взглянуть на описания методов [[Fixnum#to_sym|to_sym]], [[Ruby/Справочник/String#String#intern|String#intern]] и описание класса [[Ruby/Справочник/Symbol|Symbol]]
Строка 170:
===Fixnum#modulo===
----
<sourcesyntaxhighlight lang=ruby>fix % other #-> Numeric
fix.modulo(other) #-> Numeric</sourcesyntaxhighlight>
----
Возвращает остаток от деления числа ''fix'' на число''other''.
Строка 178:
===Fixnum#power!===
----
<sourcesyntaxhighlight lang=ruby>fix.power!( other ) #-> numeric</sourcesyntaxhighlight>
----
Производит возведение числа ''fix'' в степень ''other''.
<sourcesyntaxhighlight lang=ruby>2.power!( 8 ) #-> 256
2.power( -8 ) #-> 0.00390625</sourcesyntaxhighlight>
{{Похожие методы|Fixnum|**|rpower}}
===Fixnum#quo===
----
<sourcesyntaxhighlight lang=ruby>fix.quo(numeric) #-> float
fix.rdiv(numeric) #-> float</sourcesyntaxhighlight>
----
Возвращает дробный результат деления числа ''fix'' на число ''numeric''.
<sourcesyntaxhighlight lang=ruby>654321.quo(13731) #-> 47.6528293642124
654321.quo(13731.24) #-> 47.6519964693647</sourcesyntaxhighlight>
{{Идентичные методы|Fixnum|quo|rdiv}}
===Fixnum#rdiv===
----
<sourcesyntaxhighlight lang=ruby>fix.quo(numeric) #-> float
fix.rdiv(numeric) #-> float</sourcesyntaxhighlight>
----
Возвращает дробный результат деления числа ''fix'' на число ''numeric''.
<sourcesyntaxhighlight lang=ruby>654321.rdiv(13731) #-> 47.6528293642124
654321.rdiv(13731.24) #-> 47.6519964693647</sourcesyntaxhighlight>
{{Идентичные методы|Fixnum|quo|rdiv}}
===Fixnum#rpower===
----
<sourcesyntaxhighlight lang=ruby>fix ** other #-> rational или numeric
fix.rpower(other) #-> rational или numeric</sourcesyntaxhighlight>
----
Производит возведение числа ''fix'' в степень ''other''. Возвращает [[Ruby/Справочник/Rational|рациональное число]], если результат рациональный (то есть, когда ''other'' < 0).
<sourcesyntaxhighlight lang=ruby>2.rpower( 8 ) #-> 256
2.rpower( -8 ) #-> Rational(1,256)</sourcesyntaxhighlight>
{{Идентичные методы|Fixnum|**|rpower}}
{{Похожие методы|Fixnum|power!}}
===Fixnum#size===
----
<sourcesyntaxhighlight lang=ruby>fix.size #-> fixnum</sourcesyntaxhighlight>
----
Возвращает количество байт машинного представления числа ''fix''.
<sourcesyntaxhighlight lang=ruby>1.size #-> 4
-1.size #-> 4
2147483647.size #-> 4</sourcesyntaxhighlight>
===Fixnum#to_f===
----
<sourcesyntaxhighlight lang=ruby>fix.to_f #-> float</sourcesyntaxhighlight>
----
Преобразует значение числа ''fix'' к классу [[Ruby/Справочник/Float|Float]].
Строка 228:
===Fixnum#to_s===
----
<sourcesyntaxhighlight lang=ruby>fix.to_s( base=10 ) #-> string</sourcesyntaxhighlight>
----
Возвращает строку, где число ''fix'' имеет основание системы счисления равное ''base'' (между 2 и 36). По умолчанию ''base''=10 (то есть десятичная система счисления).
<sourcesyntaxhighlight lang=ruby>12345.to_s #-> "12345"
12345.to_s(2) #-> "11000000111001"
12345.to_s(8) #-> "30071"
12345.to_s(10) #-> "12345"
12345.to_s(16) #-> "3039"
12345.to_s(36) #-> "9ix"</sourcesyntaxhighlight>
{{Похожие методы|Fixnum|to_f|to_sym}}
===Fixnum#to_sym===
----
<sourcesyntaxhighlight lang=ruby>fix.to_sym #-> symbol</sourcesyntaxhighlight>
----
Возвращает [[Ruby/Справочник/Symbol|символ]], которому соответствует значение ''fix''.
<sourcesyntaxhighlight lang=ruby>fred = :fred.to_i
fred.id2name #-> "fred"
fred.to_sym #-> :fred</sourcesyntaxhighlight>
{{Похожие методы|Fixnum|to_s|to_f|id2name}}
 
Строка 251:
===Fixnum#zero?===
----
<sourcesyntaxhighlight lang=ruby>fix.zero? #-> true или false</sourcesyntaxhighlight>
----
Возвращает <tt>true</tt>, если значение ''fix'' равно нулю.
===Fixnum#|===
----
<sourcesyntaxhighlight lang=ruby>fix | other #-> integer</sourcesyntaxhighlight>
----
Побитовое <tt>ИЛИ</tt>.
===Fixnum#~===
----
<sourcesyntaxhighlight lang=ruby>~fix #-> integer</sourcesyntaxhighlight>
----
Побитовое <tt>НЕ</tt>.