var intvalue = Math.floor( floatvalue ); var intvalue = Math.ceil( floatvalue ); var intvalue = Math.round( floatvalue ); // `Math.trunc` was added in ECMAScript 6 var intvalue = Math.trunc( floatvalue );
Математическая ссылка на объект
Примеры
ПоложительныйОтрицательный// value=x // x=5 5
> 0 // 5 5 5 value >>> 0 // 5 5 5 value - value % 1 // 5 5 5 Положительный - Большее число// value=x // x=-5 -5>x>=-5.5 -5.5>x>-6 Math.floor(value) // -5 -6 -6 Math.ceil(value) // -5 -5 -5 Math.round(value) // -5 -5 -6 Math.trunc(value) // -5 -5 -5 parseInt(value) // -5 -5 -5 value | 0 // -5 -5 -5 ~~value // -5 -5 -5 value >> 0 // -5 -5 -5 value >>> 0 // 4294967291 4294967291 4294967291 value - value % 1 // -5 -5 -5
Отрицательный - Большее число// x = Number.MAX_SAFE_INTEGER/10 // =900719925474099.1 // value=x x=900719925474099 x=900719925474099.4 x=900719925474099.5 Math.floor(value) // 900719925474099 900719925474099 900719925474099 Math.ceil(value) // 900719925474099 900719925474100 900719925474100 Math.round(value) // 900719925474099 900719925474099 900719925474100 Math.trunc(value) // 900719925474099 900719925474099 900719925474099 parseInt(value) // 900719925474099 900719925474099 900719925474099 value | 0 // 858993459 858993459 858993459 ~~value // 858993459 858993459 858993459 value >> 0 // 858993459 858993459 858993459 value >>> 0 // 858993459 858993459 858993459 value - value % 1 // 900719925474099 900719925474099 900719925474099
// x = Number.MAX_SAFE_INTEGER/10 * -1 // -900719925474099.1 // value = x // x=-900719925474099 x=-900719925474099.5 x=-900719925474099.6 Math.floor(value) // -900719925474099 -900719925474100 -900719925474100 Math.ceil(value) // -900719925474099 -900719925474099 -900719925474099 Math.round(value) // -900719925474099 -900719925474099 -900719925474100 Math.trunc(value) // -900719925474099 -900719925474099 -900719925474099 parseInt(value) // -900719925474099 -900719925474099 -900719925474099 value | 0 // -858993459 -858993459 -858993459 ~~value // -858993459 -858993459 -858993459 value >> 0 // -858993459 -858993459 -858993459 value >>> 0 // 3435973837 3435973837 3435973837 value - value % 1 // -900719925474099 -900719925474099 -900719925474099
Невозможно изменить суперкласс уже существующего класса.
Чтобы указать суперкласс класса, который вы создаете динамически, вы просто передаете суперкласс в качестве аргумента Class.new
.
class Parent
end
klass = Class.new(Parent)
klass.superclass #=> Parent
В качестве примечания: вы не создаете класс с помощью const_set
. Вы создаете его с помощью Class.new
. Вы просто сохраняете созданный класс в константе с const_set
. После вызова const_set
, Class.new
уже произошло, и суперкласс больше не может быть изменен.