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

Содержимое удалено Содержимое добавлено
м Категоризация по запросу на w:ВП:РДБ
м <source> -> <syntaxhighlight> (phab:T237267)
Строка 16:
===Integer::from_prime_division===
----
<sourcesyntaxhighlight lang=ruby>Integer::from_prime_division( ''array'' ) #-> integer</sourcesyntaxhighlight>
----
Преобразует двумерный массив ''array'' из простых делителей и их степеней обратно в целое число.
<sourcesyntaxhighlight lang=ruby>require 'mathn'
Integer.from_prime_division( [[5,1], [7,1]] ) #-> 35
Integer.from_prime_division( 122.prime_division ) #-> 122</sourcesyntaxhighlight>
{{Похожие методы|Integer|prime_division}}
{{Необходима библиотека|mathn}}
Строка 27:
===Integer::induced_from===
----
<sourcesyntaxhighlight lang=ruby>Integer.induced_from(obj) #-> integer</sourcesyntaxhighlight>
----
Преобразует ''obj'' в целое число.
===Integer#ceil===
----
<sourcesyntaxhighlight lang=ruby>int.to_i #-> int
int.to_int #-> int
int.floor #-> int
int.ceil #-> int
int.round #-> int
int.truncate #-> int</sourcesyntaxhighlight>
----
В виду того, что ''int'' уже целое число, а данный метод производит округление к целому числу, то он просто возвращает значение ''int''.
Строка 44:
===Integer#chr===
----
<sourcesyntaxhighlight lang=ruby>int.chr #-> string</sourcesyntaxhighlight>
----
Возвращает строку, состоящую из [[w:ASCII|ASCII]]-символа с кодом равным значению ''int''.
<sourcesyntaxhighlight lang=ruby>65.chr #-> "A"
?a.chr #=> "a"
230.chr #=> "\346"</sourcesyntaxhighlight>
 
===Integer#denominator===
----
<sourcesyntaxhighlight lang=ruby>num.denominator #-> 1</sourcesyntaxhighlight>
----
Для целого числа [[w:Знаменатель|знаменатель]] всегда равен 1. Поэтому, данный метод возвращает 1.
Строка 60:
===Integer#downto===
----
<sourcesyntaxhighlight lang=ruby>int.downto(limit) {|i| block } #-> int</sourcesyntaxhighlight>
----
Выполняет блок для всех чисел с ''int'' по ''limit'' с шагом -1 (то есть число ''int'' должно быть больше числа ''limit'').
<sourcesyntaxhighlight lang=ruby>5.downto(1) { |n| print n, ".. " }
print " Liftoff!\n"</sourcesyntaxhighlight>
''результат'':
<tt>5.. 4.. 3.. 2.. 1.. Liftoff!</tt>
Строка 70:
===Integer#floor===
----
<sourcesyntaxhighlight lang=ruby>int.to_i #-> int
int.to_int #-> int
int.floor #-> int
int.ceil #-> int
int.round #-> int
int.truncate #-> int</sourcesyntaxhighlight>
----
В виду того, что ''int'' уже целое число, а данный метод производит округление к целому числу, то он просто возвращает значение ''int''.
Строка 81:
===Integer#gcd===
----
<sourcesyntaxhighlight lang=ruby>num.gcd(other)</sourcesyntaxhighlight>
----
Возвращает [[w:НОД|наибольший общий делитель]] двух чисел (''num'' и ''other'').
<sourcesyntaxhighlight lang=ruby>72.gcd 168 #-> 24
19.gcd 36 #-> 1</sourcesyntaxhighlight>
{{info|Результат данного метода — положительное целое число, независимо от знака аргументов}}
{{Похожие методы|Integer|gcd|gcdlcm}}
Строка 91:
===Integer#gcdlcm===
----
<sourcesyntaxhighlight lang=ruby>num.gcdlcm(other)</sourcesyntaxhighlight>
----
Возвращает [[w:НОД|НОД]] и [[w:НОК|НОК]] (см. [[#Integer#gcd|gcd]] и [[#Integer#lcm|lcm]]) двух чисел (''num'' и ''other''). Этот метод особенно эффективен, когда необходимо посчитать НОД и НОК одновременно.
<sourcesyntaxhighlight lang=ruby>6.gcdlcm 9 #-> [3, 18]</sourcesyntaxhighlight>
{{Похожие методы|Integer|gcd|lcm}}
 
===Integer#integer?===
----
<sourcesyntaxhighlight lang=ruby>int.integer? #-> true</sourcesyntaxhighlight>
----
Всегда возвращает <tt>true</tt>.
===Integer#lcm===
----
<sourcesyntaxhighlight lang=ruby>num.lcm(other) #-> integer</sourcesyntaxhighlight>
----
Возвращает [[w:НОК|наименьшее общее кратное]] двух чисел (''num'' и ''other'').
<sourcesyntaxhighlight lang=ruby>6.lcm 7 #-> 42
6.lcm 9 #-> 18</sourcesyntaxhighlight>
{{info|Результат данного метода — положительное целое число, независимо от знака каждого из аргументов}}
{{Похожие методы|Integer|gcd|gcdlcm}}
Строка 114:
===Integer#next===
----
<sourcesyntaxhighlight lang=ruby>int.next #-> integer
int.succ #-> integer</sourcesyntaxhighlight>
----
Возвращает целое число, которое равно ''int'' + 1.
<sourcesyntaxhighlight lang=ruby>1.next #-> 2
(-1).next #-> 0</sourcesyntaxhighlight>
{{Идентичные методы|Integer|succ|next}}
 
===Integer#numerator===
----
<sourcesyntaxhighlight lang=ruby>num.numerator #-> num</sourcesyntaxhighlight>
----
Для целого числа [[w:Числитель|числитель]] всегда равен его значению. Поэтому данный метод возвращает значение ''num''.
Строка 131:
===Integer#prime_division===
----
<sourcesyntaxhighlight lang=ruby>num.prime_division #-> array</sourcesyntaxhighlight>
----
Возвращает двумерный массив, состоящий из простых делителей числа и их степеней.
<sourcesyntaxhighlight lang=ruby>require 'mathn'
35.prime_division #-> [[5, 1], [7, 1]]
256.prime_division #-> [[2, 8]]</sourcesyntaxhighlight>
{{info|Полезно посмотреть на метод [[#Integer::from_prime_division|from_prime_division]], который имеет схожую функциональность}}
{{Необходима библиотека|mathn}}
Строка 142:
===Integer#round===
----
<sourcesyntaxhighlight lang=ruby>int.to_i #-> int
int.to_int #-> int
int.floor #-> int
int.ceil #-> int
int.round #-> int
int.truncate #-> int</sourcesyntaxhighlight>
----
В виду того, что ''int'' уже целое число, а данный метод производит округление к целому числу, то он просто возвращает значение ''int''.
Строка 154:
===Integer#succ===
----
<sourcesyntaxhighlight lang=ruby>int.next #-> integer
int.succ #-> integer</sourcesyntaxhighlight>
----
Возвращает целое число, которое равно ''int'' + 1.
<sourcesyntaxhighlight lang=ruby>1.next #-> 2
(-1).next #-> 0</sourcesyntaxhighlight>
{{Идентичные методы|Integer|succ|next}}
 
===Integer#times===
----
<sourcesyntaxhighlight lang=ruby>int.times {|i| block } #-> int</sourcesyntaxhighlight>
----
Выполняет блок ''int'' раз, передавая в него значения от 0 до ''int'' - 1.
<sourcesyntaxhighlight lang=ruby>5.times do |i|
print i, " "
end</sourcesyntaxhighlight>
''результат'':
<tt>0 1 2 3 4</tt>
Строка 175:
===Integer#to_i===
----
<sourcesyntaxhighlight lang=ruby>int.to_i #-> int
int.to_int #-> int
int.floor #-> int
int.ceil #-> int
int.round #-> int
int.truncate #-> int</sourcesyntaxhighlight>
----
В виду того, что ''int'' уже целое число, а данный метод производит округление к целому числу, то он просто возвращает значение ''int''.
Строка 187:
===Integer#to_int===
----
<sourcesyntaxhighlight lang=ruby>int.to_i #-> int
int.to_int #-> int
int.floor #-> int
int.ceil #-> int
int.round #-> int
int.truncate #-> int</sourcesyntaxhighlight>
----
В виду того, что ''int'' уже целое число, а данный метод производит округление к целому числу, то он просто возвращает значение ''int''.
Строка 199:
===Integer#to_r===
----
<sourcesyntaxhighlight lang=ruby>num.to_r #-> rational</sourcesyntaxhighlight>
----
Возвращает число ''num'' в виде [[w:Рациональное число|рациональной дроби]].
<sourcesyntaxhighlight lang=ruby>35.to_r #-> Rational(35, 1)</sourcesyntaxhighlight>
 
===Integer#truncate===
----
<sourcesyntaxhighlight lang=ruby>int.to_i #-> int
int.to_int #-> int
int.floor #-> int
int.ceil #-> int
int.round #-> int
int.truncate #-> int</sourcesyntaxhighlight>
----
В виду того, что ''int'' уже целое число, а данный метод производит округление к целому числу, то он просто возвращает значение ''int''.
Строка 217:
===Integer#upto===
----
<sourcesyntaxhighlight lang=ruby>int.upto(limit) {|i| block } #-> int</sourcesyntaxhighlight>
----
Выполняет блок для всех целых чисел с ''int'' по ''limit'', включительно.
<sourcesyntaxhighlight lang=ruby>5.upto(10) { |i| print i, " " }</sourcesyntaxhighlight>
''результат'':
<tt>5 6 7 8 9 10</tt>