int

Вбудований тип для цілих чисел.

Опис

64-розрядний цілочисельний тип зі знаком. Це означає, що він може приймати значення від -2^63 до 2^63 - 1, тобто від -9223372036854775808 до 9223372036854775807. Коли він перевищує ці межі, він обертається.

ints можна автоматично перетворити на floats, коли це необхідно, наприклад, коли вони передаються як аргументи у функціях. float буде максимально близьким до початкового цілого числа.

Подібним чином floats можна автоматично перетворити на ints. Це скоротить float, відкидаючи все, що стоїть після числа з плаваючою комою.

Примітка. У логічному контексті int матиме значення false, якщо він дорівнює 0, і true в іншому випадку.

var x: int = 1 # x дорівнює 1
x = 4,2 # x дорівнює 4, тому що 4,2 скорочується
var max_int = 9223372036854775807 # Найбільше значення, яке може зберігати int
max_int += 1 # max_int дорівнює -9223372036854775808, тому що він обертається навколо

Ви можете використовувати літерал 0b для двійкового представлення, літерал 0x для шістнадцяткового представлення та символ _ для розділення довгих чисел і покращення читабельності.

var x = 0b1001 # x дорівнює 9
var y = 0xF5 # y дорівнює 245
var z = 10_000_000 # z дорівнює 10000000

Конструктори

int

int()

int

int(from: int)

int

int(from: String)

int

int(from: bool)

int

int(from: float)

Оператори

bool

operator !=(right: float)

bool

operator !=(right: int)

int

operator %(right: int)

int

operator &(right: int)

Color

operator *(right: Color)

Quaternion

operator *(right: Quaternion)

Vector2

operator *(right: Vector2)

Vector2i

operator *(right: Vector2i)

Vector3

operator *(right: Vector3)

Vector3i

operator *(right: Vector3i)

Vector4

operator *(right: Vector4)

Vector4i

operator *(right: Vector4i)

float

operator *(right: float)

int

operator *(right: int)

float

operator **(right: float)

int

operator **(right: int)

float

operator +(right: float)

int

operator +(right: int)

float

operator -(right: float)

int

operator -(right: int)

float

operator /(right: float)

int

operator /(right: int)

bool

operator <(right: float)

bool

operator <(right: int)

int

operator <<(right: int)

bool

operator <=(right: float)

bool

operator <=(right: int)

bool

operator ==(right: float)

bool

operator ==(right: int)

bool

operator >(right: float)

bool

operator >(right: int)

bool

operator >=(right: float)

bool

operator >=(right: int)

int

operator >>(right: int)

int

operator ^(right: int)

int

operator unary+()

int

operator unary-()

int

operator |(right: int)

int

operator ~()


Описи конструкторів

int int() 🔗

Створює int зі значенням 0.


int int(from: int)

Constructs the int як копія даної int.


int int(from: String)

Constructs a new int from the String, наступні ж правила, як String.to_int().


int int(from: bool)

Створює нове значення int з значення bool. true перетворюється на 1, а false перетворюється на 0.


int int(from: float)

Створює нове значення int з числа з плаваючою комою. Це скоротить значення float, відкинувши все після числа з плаваючою комою.


Описи операторів

bool operator !=(right: float) 🔗

Повернення true якщо int не еквівалент float.


bool operator !=(right: int) 🔗

Повертаємо true, якщо ints не дорівнює.


int operator %(right: int) 🔗

Повертає залишок після ділення двох int. Використовує скорочене ділення, яке повертає від’ємне число, якщо дивіденд від’ємний. Якщо це небажано, спробуйте використати @GlobalScope.posmod().

print(6 % 2) # Виводить 0
print(11 % 4) # Друкує 3
print(-5 % 3) # Виводить -2

int operator &(right: int) 🔗

Виконує порозрядну операцію І.

print(0b1100 & 0b1010) # Виводить 8 (двійковий 1000)

Це корисно для отримання двійкових прапорів зі змінної.

змінні прапори = 0b101
# Перевірте, чи ввімкнено перший або другий біт.
якщо прапори & 0b011:
    do_stuff() # Цей рядок буде виконано.

Color operator *(right: Color) 🔗

Багатопосадки кожного компонента Color int.


Quaternion operator *(right: Quaternion) 🔗

Багатомовний компонент Quaternion int. Ця операція не має значення самостійно, але її можна використовувати в складі більшого виразу.


Vector2 operator *(right: Vector2) 🔗

Множить кожен компонент Vector2 на int.

print(2 * Vector2(1, 4)) # Prints (2, 8)

Vector2i operator *(right: Vector2i) 🔗

Множиці кожного компонента Vector2i int.


Vector3 operator *(right: Vector3) 🔗

Множиці кожного компонента Vector3 int.


Vector3i operator *(right: Vector3i) 🔗

Множиці кожного компонента Vector3i int.


Vector4 operator *(right: Vector4) 🔗

Множиці кожного компонента Vector4 int.


Vector4i operator *(right: Vector4i) 🔗

Множиці кожного компонента Vector4i int.


float operator *(right: float) 🔗

Множиці float int. Результатом є float.


int operator *(right: int) 🔗

Множить два ints.


float operator **(right: float) 🔗

Підносить int до степеня float. Результатом буде float.

print(2 ** 0.5) # Prints 1.4142135623731

int operator **(right: int) 🔗

Підносить лівий int до степеня правого int.

print(3 ** 4) # Виводить 81

float operator +(right: float) 🔗

Додає int та float. Результатом є float.


int operator +(right: int) 🔗

Додає два ints.


float operator -(right: float) 🔗

Відстежити float з int. Результатом є float.


int operator -(right: int) 🔗

Віднімає два ints.


float operator /(right: float) 🔗

Розділяє int на float. Результатом буде float.

print(10 / 3.0) # Prints 3.33333333333333

int operator /(right: int) 🔗

Розділяє два int. Результатом є int. Це скоротить float, відкинувши все після коми з плаваючою комою.

print(6 / 2) # Виводить 3
print(5 / 3) # Виводить 1

bool operator <(right: float) 🔗

true, якщо int менше float.


bool operator <(right: int) 🔗

Повертаємо true, якщо зліва int менше права int.


int operator <<(right: int) 🔗

Виконує операцію побітового зсуву вліво. Фактично те саме, що множення на ступінь 2.

print(0b1010 << 1) # Виводить 20 (двійковий 10100)
print(0b1010 << 3) # Виводить 80 (двійковий 1010000)

bool operator <=(right: float) 🔗

Повертає true, якщо int менше або дорівнює float.


bool operator <=(right: int) 🔗

Повертаємо true, якщо лівий int менше або дорівнює праву int.


bool operator ==(right: float) 🔗

Повернення true якщо int дорівнює float.


bool operator ==(right: int) 🔗

Повертає true, якщо два int рівні.


bool operator >(right: float) 🔗

Повертає true, якщо int перевищує float.


bool operator >(right: int) 🔗

Повертаємо true, якщо зліва int перевищує право int.


bool operator >=(right: float) 🔗

Повертає true, якщо int перевищує або дорівнює float.


bool operator >=(right: int) 🔗

Повертаємо true, якщо зліва int перевищує або дорівнює праву int.


int operator >>(right: int) 🔗

Виконує операцію порозрядного зсуву вправо. Фактично те саме, що ділення на ступінь 2.

print(0b1010 >> 1) # Виводить 5 (двійковий 101)
print(0b1010 >> 2) # Виводить 2 (двійковий 10)

int operator ^(right: int) 🔗

Виконує побітову операцію XOR.

print(0b1100 ^ 0b1010) # Виводить 6 (двійковий 110)

int operator unary+() 🔗

Повертає однакову вартість, якщо + не було. `` +`` нічого не робить, але іноді це може зробити ваш код більш читабельним.


int operator unary-() 🔗

Повертаємо необрізане значення int. Якщо позитивне, то виходить число негативно. Якщо негативно, то виходить число позитивним. Якщо нуль, нічого не робить.


int operator |(right: int) 🔗

Виконує порозрядну операцію АБО.

print(0b1100 | 0b1010) # Виводить 14 (двійковий 1110)

Це корисно для збереження двійкових позначок у змінній.

змінні прапори = 0
flags |= 0b101 # Увімкнути перший і третій біти.

int operator ~() 🔗

Виконує побітову операцію NOT над int. Завдяки доповненню 2 воно фактично дорівнює -(int + 1).

print(~4) # Виводить -5
print(~(-7)) # Виводить 6