Ruby/Справочник/Integer
Материал из Викиучебника
[править] Класс Integer < Numeric
Integer — это родительский класс для классов Bignum и Fixnum, которые отвечают за работу с целыми числами.
Примеси
Precision (prec, prec_f, prec_i)
Методы класса
from_prime_division, induced_from
Методы объекта
ceil, chr, denominator, downto, floor, gcdlcm, gcd, integer?, lcm, next, numerator, prime_division, round, succ, times, to_int, to_i, to_r, 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, который имеет схожую функциональность |
[править] 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#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 #-> integer int.succ #-> integer
Возвращает целое число, которое равно int + 1.
1.next #-> 2 (-1).next #-> 0
|
Методы succ и next — абсолютно идентичны, то есть являются именами одного и того же метода |
[править] Integer#numerator
num.numerator #-> num
Для целого числа числитель всегда равен его значению. Поэтому данный метод возвращает значение num.
|
Полезно посмотреть на метод denominator, который имеет схожую функциональность |
[править] Integer#prime_division
num.prime_division #-> array
Возвращает двумерный массив, состоящий из простых делителей числа и их степеней.
require 'mathn' 35.prime_division #-> [[5, 1], [7, 1]] 256.prime_division #-> [[2, 8]]
|
Полезно посмотреть на метод from_prime_division, который имеет схожую функциональность |
[править] 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 #-> integer int.succ #-> integer
Возвращает целое число, которое равно 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_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#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