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.
Checking the stable version of the documentation...
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, тому що він обертається навколо
int x = 1; // x дорівнює 1
х = (ціл.)4,2; // x дорівнює 4, тому що 4.2 скорочується
// Нижче ми використовуємо long, тому що int GDScript є 64-бітним, тоді як int C# є 32-бітним.
long maxLong = 9223372036854775807; // Найбільше значення, яке може зберігати long
maxLong++; // maxLong тепер дорівнює -9223372036854775808, тому що він обертався.
// Альтернативно з 32-розрядним типом int C#, який має менше максимальне значення.
int maxInt = 2147483647; // Найбільше значення, яке може зберігати int
maxInt++; // maxInt тепер -2147483648, тому що він обертався
Ви можете використовувати літерал 0b для двійкового представлення, літерал 0x для шістнадцяткового представлення та символ _ для розділення довгих чисел і покращення читабельності.
var x = 0b1001 # x дорівнює 9
var y = 0xF5 # y дорівнює 245
var z = 10_000_000 # z дорівнює 10000000
int x = 0b1001; // х дорівнює 9
int y = 0xF5; // y дорівнює 245
int z = 10_000_000; // z дорівнює 10000000
Конструктори
int() |
|
int(from: String) |
|
Оператори
operator !=(right: float) |
|
operator !=(right: int) |
|
operator %(right: int) |
|
operator &(right: int) |
|
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) |
operator *(right: float) |
|
operator *(right: int) |
|
operator **(right: float) |
|
operator **(right: int) |
|
operator +(right: float) |
|
operator +(right: int) |
|
operator -(right: float) |
|
operator -(right: int) |
|
operator /(right: float) |
|
operator /(right: int) |
|
operator <(right: float) |
|
operator <(right: int) |
|
operator <<(right: int) |
|
operator <=(right: float) |
|
operator <=(right: int) |
|
operator ==(right: float) |
|
operator ==(right: int) |
|
operator >(right: float) |
|
operator >(right: int) |
|
operator >=(right: float) |
|
operator >=(right: int) |
|
operator >>(right: int) |
|
operator ^(right: int) |
|
operator |(right: int) |
|
Описи конструкторів
Створює int зі значенням 0.
Constructs the int як копія даної int.
int int(from: String)
Constructs a new int from the String, наступні ж правила, як String.to_int().
Створює нове значення int з значення bool. true перетворюється на 1, а false перетворюється на 0.
Створює нове значення int з числа з плаваючою комою. Це скоротить значення float, відкинувши все після числа з плаваючою комою.
Описи операторів
bool operator !=(right: float) 🔗
Повернення true якщо int не еквівалент float.
bool operator !=(right: int) 🔗
Повертаємо true, якщо ints не дорівнює.
Повертає залишок після ділення двох int. Використовує скорочене ділення, яке повертає від’ємне число, якщо дивіденд від’ємний. Якщо це небажано, спробуйте використати @GlobalScope.posmod().
print(6 % 2) # Виводить 0
print(11 % 4) # Друкує 3
print(-5 % 3) # Виводить -2
Виконує порозрядну операцію І.
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.
Множить два ints.
float operator **(right: float) 🔗
Підносить int до степеня float. Результатом буде float.
print(2 ** 0.5) # Prints 1.4142135623731
Підносить лівий int до степеня правого int.
print(3 ** 4) # Виводить 81
float operator +(right: float) 🔗
Додає int та float. Результатом є float.
Додає два ints.
float operator -(right: float) 🔗
Відстежити float з int. Результатом є float.
Віднімає два ints.
float operator /(right: float) 🔗
Розділяє int на float. Результатом буде float.
print(10 / 3.0) # Prints 3.33333333333333
Розділяє два int. Результатом є int. Це скоротить float, відкинувши все після коми з плаваючою комою.
print(6 / 2) # Виводить 3
print(5 / 3) # Виводить 1
bool operator <(right: float) 🔗
true, якщо int менше float.
Повертаємо true, якщо зліва int менше права 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.
Повертаємо true, якщо зліва int перевищує право int.
bool operator >=(right: float) 🔗
Повертає true, якщо int перевищує або дорівнює float.
bool operator >=(right: int) 🔗
Повертаємо true, якщо зліва int перевищує або дорівнює праву int.
Виконує операцію порозрядного зсуву вправо. Фактично те саме, що ділення на ступінь 2.
print(0b1010 >> 1) # Виводить 5 (двійковий 101)
print(0b1010 >> 2) # Виводить 2 (двійковий 10)
Виконує побітову операцію XOR.
print(0b1100 ^ 0b1010) # Виводить 6 (двійковий 110)
Повертає однакову вартість, якщо + не було. `` +`` нічого не робить, але іноді це може зробити ваш код більш читабельним.
Повертаємо необрізане значення int. Якщо позитивне, то виходить число негативно. Якщо негативно, то виходить число позитивним. Якщо нуль, нічого не робить.
Виконує порозрядну операцію АБО.
print(0b1100 | 0b1010) # Виводить 14 (двійковий 1110)
Це корисно для збереження двійкових позначок у змінній.
змінні прапори = 0
flags |= 0b101 # Увімкнути перший і третій біти.
Виконує побітову операцію NOT над int. Завдяки доповненню 2 воно фактично дорівнює -(int + 1).
print(~4) # Виводить -5
print(~(-7)) # Виводить 6