Category:LSL Types/ru
LSL Портал | | | Функции | | | События | | | Типы | | | Константы | | | Потоки | | | Библиотека Скриптов | | | Учебники |
Введение
data типом является определение типа или формата данных.
Целое например, определяет, что переменная, которая будет содержать такого рода (или "тип") данных должен содержать только целые, который для 32-битных целые значения число в диапазоне 0x00000000 к 0xFFFFFFFF.
Пример
<lsl>integer myVar = 123; float myFloatVariable = 258.753; string myStringVar = "abracadabra как то раз увидела джина"; vector myVecVar = <0.159, 452.0, 0.0>;</lsl>
Передача по значению
LSL как язык использует передачу по ценности всех типов [1]. Когда значение (это может быть значение в переменной) передается в качестве параметра функции, то функция имеется только на свой собственный уникальный копию значения. Так что, если в ходе выполнения функции, функция изменяет параметр, что модификация изменяет только функции копию значения, это не дает эффекта или изменения оригинала (или других копий).
- Встроенные функции никогда не будет изменять переменные, используемые в качестве параметров.
- Пользовательские функции, которые изменяют значения параметров внутри области видимости функции не будут иметь те изменения, внесенные в переменных, которые поставляются этих параметров.
Пример
<lsl>//Это показывает, что LSL (как язык) является передача по стоимости, если бы она была передача по ссылке, линии сказал бы по-другому. swap(string a, string b) {
string t = a; a = b; b = t;
}
default {
state_entry() { string a = "1"; string b = "2"; llOwnerSay(llList2CSV([a, b])); swap(a, b);//fails to mutate a or b. llOwnerSay(llList2CSV([a, b])); }
}</lsl>
Subcategories
This category has the following 3 subcategories, out of 3 total.
Pages in category "LSL Types/ru"
The following 8 pages are in this category, out of 8 total.