Ruby/Справочник/Integer
Класс Integer < Numeric
[править]Integer — это родительский класс для классов Bignum и Fixnum, которые отвечают за работу с целыми числами.
Примеси
Precision (prec, prec_f, prec_i)
Методы класса
from_prime_division, induced_from
Методы объекта
ceil, chr, denominator, downto, even?, floor, gcdlcm, gcd, integer?, lcm, next, numerator, odd?, prime_division, round, succ, times, to_f, to_int, to_i, to_r, to_s, truncate, upto
Integer::from_prime_division
[править]Integer::from_prime_division( ''array'' ) #-> integer
Преобразует двумерный массив array из простых делителей и их степеней обратно в целое число.
require 'mathn'
Integer.from_prime_division( [[5,1], [7,1]] ) #-> 35
Integer.from_prime_division( 122.prime_division ) #-> 122
Полезно посмотреть на метод prime_division, который имеет схожую функциональность |
Внимание! Для работы данного метода необходимо подключение библиотеки mathn |
Integer::induced_from
[править]Integer.induced_from(obj) #-> integer
Преобразует obj в целое число.
Integer#ceil
[править]int.to_i #-> int
int.to_int #-> int
int.floor #-> int
int.ceil #-> int
int.round #-> int
int.truncate #-> int
В виду того, что int уже целое число, а данный метод производит округление к целому числу, то он просто возвращает значение int.
Полезно посмотреть на методы ceil, floor, round, to_i, to_int и truncate, которые имеют схожую функциональность |
Integer#chr
[править]int.chr #-> string
Возвращает строку, состоящую из ASCII-символа с кодом равным значению int.
65.chr #-> "A"
?a.chr #=> "a"
230.chr #=> "\346"
Integer#denominator
[править]num.denominator #-> 1
Для целого числа знаменатель всегда равен 1. Поэтому, данный метод возвращает 1.
Integer#downto
[править]int.downto(limit) {|i| block } #-> int
Выполняет блок для всех чисел с int по limit с шагом -1 (то есть число int должно быть больше числа limit).
5.downto(1) { |n| print n, ".. " }
print " Liftoff!\n"
результат:
5.. 4.. 3.. 2.. 1.. Liftoff!
Integer#even?
[править]num.even? #-> true или false
Возвращает true
, если int - четное число.
Integer#floor
[править]int.to_i #-> int
int.to_int #-> int
int.floor #-> int
int.ceil #-> int
int.round #-> int
int.truncate #-> int
В виду того, что int уже целое число, а данный метод производит округление к целому числу, то он просто возвращает значение int.
Полезно посмотреть на методы ceil, floor, round, to_i, to_int и truncate, которые имеют схожую функциональность |
Integer#gcd
[править]num.gcd(other)
Возвращает наибольший общий делитель двух чисел (num и other).
72.gcd 168 #-> 24
19.gcd 36 #-> 1
Результат данного метода — положительное целое число, независимо от знака аргументов |
Полезно посмотреть на методы gcd и gcdlcm, которые имеют схожую функциональность |
Integer#gcdlcm
[править]num.gcdlcm(other)
Возвращает НОД и НОК (см. gcd и lcm) двух чисел (num и other). Этот метод особенно эффективен, когда необходимо посчитать НОД и НОК одновременно.
6.gcdlcm 9 #-> [3, 18]
Полезно посмотреть на методы gcd и lcm, которые имеют схожую функциональность |
Integer#integer?
[править]int.integer? #-> true
Всегда возвращает true.
Integer#lcm
[править]num.lcm(other) #-> integer
Возвращает наименьшее общее кратное двух чисел (num и other).
6.lcm 7 #-> 42
6.lcm 9 #-> 18
Результат данного метода — положительное целое число, независимо от знака каждого из аргументов |
Полезно посмотреть на методы gcd и gcdlcm, которые имеют схожую функциональность |
Integer#next
[править]int.next #-> int
int.succ #-> int
Возвращает целое число, которое равно int + 1.
1.next #-> 2
(-1).next #-> 0
Методы succ и next — абсолютно идентичны, то есть являются именами одного и того же метода |
Integer#numerator
[править]num.numerator #-> num
Для целого числа числитель всегда равен его значению. Поэтому данный метод возвращает значение num.
Полезно посмотреть на метод denominator, который имеет схожую функциональность |
Integer#odd?
[править]num.odd? #-> true или false
Возвращает true
, если int - нечетное число.
Integer#prime_division
[править]num.prime_division #-> array
Возвращает двумерный массив, состоящий из простых делителей числа и их степеней.
require 'mathn'
35.prime_division #-> [[5, 1], [7, 1]]
256.prime_division #-> [[2, 8]]
Полезно посмотреть на метод from_prime_division, который имеет схожую функциональность |
Внимание! Для работы данного метода необходимо подключение библиотеки mathn |
Integer#round
[править]int.to_i #-> int
int.to_int #-> int
int.floor #-> int
int.ceil #-> int
int.round #-> int
int.truncate #-> int
В виду того, что int уже целое число, а данный метод производит округление к целому числу, то он просто возвращает значение int.
Полезно посмотреть на методы ceil, floor, round, to_i, to_int и truncate, которые имеют схожую функциональность |
Integer#succ
[править]int.next #-> int
int.succ #-> int
Возвращает целое число, которое равно int + 1.
1.next #-> 2
(-1).next #-> 0
Методы succ и next — абсолютно идентичны, то есть являются именами одного и того же метода |
Integer#times
[править]int.times {|i| block } #-> int
Выполняет блок int раз, передавая в него значения от 0 до int - 1.
5.times do |i|
print i, " "
end
результат:
0 1 2 3 4
Integer#to_f
[править]int.to_f #-> float
Преобразует int в Float. Если int не помещается в Float, результатом будет бесконечность.
108.to_f #-> 108.0
Подробнее об Float |
Integer#to_i
[править]int.to_i #-> int
int.to_int #-> int
int.floor #-> int
int.ceil #-> int
int.round #-> int
int.truncate #-> int
В виду того, что int уже целое число, а данный метод производит округление к целому числу, то он просто возвращает значение int.
Полезно посмотреть на методы ceil, floor, round, to_i, to_int и truncate, которые имеют схожую функциональность |
Integer#to_int
[править]int.to_i #-> int
int.to_int #-> int
int.floor #-> int
int.ceil #-> int
int.round #-> int
int.truncate #-> int
В виду того, что int уже целое число, а данный метод производит округление к целому числу, то он просто возвращает значение int.
Полезно посмотреть на методы ceil, floor, round, to_i, to_int и truncate, которые имеют схожую функциональность |
Integer#to_r
[править]num.to_r #-> rational
Возвращает число num в виде рациональной дроби.
35.to_r #-> Rational(35, 1)
Integer#to_s
[править]int.to_s(base=10) #-> string
Возвращает строку, содержащую представление разряда int с основанием системы счисления (от 2 до 36).
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"
78546939656932.to_s(36) #=> "rubyrules"
Также имеет псевдоним: инспектировать |
Integer#truncate
[править]int.to_i #-> int
int.to_int #-> int
int.floor #-> int
int.ceil #-> int
int.round #-> int
int.truncate #-> int
В виду того, что int уже целое число, а данный метод производит округление к целому числу, то он просто возвращает значение int.
Полезно посмотреть на методы ceil, to_i, to_int, floor, round и truncate, которые имеют схожую функциональность |
Integer#upto
[править]int.upto(limit) {|i| block } #-> int
Выполняет блок для всех целых чисел с int по limit, включительно.
5.upto(10) { |i| print i, " " }
результат:
5 6 7 8 9 10