Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

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