1C:
// это комментарий
lua:
-- это комментарий
1C:
Цена = 100;
lua:
local price = 100
1C:
Процедура Тест()
Цена = 100;
КонецПроцедуры
lua:
local function test()
local price = 100
end
1C:
Перем Количество;
Перем Сумма;
Процедура Тест()
Цена = 100;
Сумма = Цена * Количество;
КонецПроцедуры
Количество = 5;
Сумма = 0;
lua:
local quantity = 5
local amount = 0
local function test()
local price = 100 -- без local будет создана глобальная переменная
amount = price * quantity
end
1C:
Функция Сумма(Знач Цена, Знач Количество = 1)
Возврат Цена * Количество;
КонецФункции
lua:
local function amount(price, quantity)
quantity = quantity or 1
return price * quantity
end
1C:
Сумма = Сумма(10)
lua:
x = amount(10) -- если присвоим в amount, то затрем функцию
1C:
Имена = Новый Массив;
Имена.Добавить("Саша");
Имена.Добавить("Маша");
lua:
local names = {}
names[#names+1] = "Саша"
names[#names+1] = "Маша"
# альтернативный вариант:
local names = {
"Саша",
"Маша",
}
1C:
Для Каждого Имя Из Имена Цикл
Сообщить(Имя);
КонецЦикла;
lua:
for i, name in ipairs(names) do
print(name)
end
1C:
Если Имена.Найти("Катя") <> Неопределено Тогда
Сообщить("Катя присутствует!");
КонецЕсли;
lua:
for i, name in ipairs(names) do
if name == "Катя" then
print("Катя присутствует!")
break
end
end
1C:
Индекс = Имена.Найти("Катя");
Если Индекс <> Неопределено Тогда
Сообщить(Индекс);
КонецЕсли;
lua:
for i, name in ipairs(names) do
if name == "Катя" then
print(i)
break
end
end
1C:
Возраст = Новый Соответствие;
Возраст["Саша"] = 18;
Возраст["Маша"] = 19;
lua:
local age = {}
age["Саша"] = 18
age["Маша"] = 19
-- альтернативный вариант:
local age = {
["Саша"] = 18,
["Маша"] = 19,
}
1C:
Для Каждого Элемент Из Возраст Цикл
Сообщить(Элемент.Ключ + ": " + Строка(Элемент.Значение));
КонецЦикла;
lua:
for key, value in pairs(age) do
print(key .. ": " .. tostring(value))
end
1C:
ВозрастКати = Возвраст["Катя"];
Если ВозрастКати <> Неопределено Тогда
Сообщить(ВозрастКати);
КонецЕсли;
lua:
local kate_age = age["Катя"]
if kate_age then
print(kate_age)
end
-- альтернативный вариант
local kate_age = age["Катя"]
if kate_age ~= nil then
print(kate_age)
end
1C:
Если Возраст["Катя"] <> Неопределено Тогда
Сообщить(Возраст["Катя"]);
КонецЕсли;
lua:
if age["Катя"] then
print(age["Катя"])
end
-- альтернативный вариант
if age["Катя"] ~= nil then
print(age["Катя"])
end
1C:
Для Индекс = 1 По 10 Цикл
Сообщить(Индекс);
КонецЦикла;
lua:
for i = 1, 10 do
print(i)
end
1C:
Индекс = 0;
Пока Индекс < 10 Цикл
Сообщить(Индекс);
Индекс = Индекс + 1;
КонецЦикла;
lua:
local i = 0
while i < 10 do
print(i)
i = i + 1
end
1C:
Сотрудник = Новый Структура("Имя, Возраст", "Катя", 19);
Сообщить(Сотрудник.Имя);
lua:
local employee = {
name = "Катя"; -- вместо `;` можно `,`
age = 19
}
print(employee.name)
-- альтернативный вариант
local employee = {}
employee.name = "Катя"
employee.age = 19
print(employee.name)
1C:
Сотрудник.Вставить("Пол", "Мужской");
Сообщить(Сотрудник.Пол);
lua:
employee.gender = "male"
print(employee.gender)
-- альтернативный вариант
employee["gender"] = "male"
print(employee.gender)
1C:
Имя = "Катя";
Возраст = 19;
Сообщить(СтрШаблон("%1: %2", Имя, Возраст));
lua:
local name = "Kate"
local age = 19
print(string.format("%s: %u", name, age))
-- альтернативный вариант
local name = "Kate"
local age = 19
print(("%s: %u"):format(name, age))
1C:
Сообщить(СтрСоединить(Имена, Символы.ПС));
lua:
print(table.concat(names, "\n"))
1C:
Сумма = Цена * ?(Количество > 0, Количество, 1);
lua:
local amount = price * (quantity > 0 and quantity or 1)
1C:
Если Икс = 0 Или Икс = Неопределено Тогда
Сообщить("пусто")
ИначеЕсли 0 < Икс И Икс < 10 Тогда
Сообщить("от 1 до 9")
Иначе
Сообщить("меньше 0 или больше 9")
КонецЕсли;
lua:
if x == 0 or x == nil then
print('пусто')
elseif 0 < x and x < 10 then
print('от 1 до 9')
else
print('меньше 0 или больше 9')
end
1C:
ЧтениеТекста = Новый ЧтениеТекста;
ЧтениеТекста.Открыть("log.txt", "UTF-8");
Сообщить(ЧтениеТекста.Прочитать());
ЧтениеТекста.Закрыть();
lua:
local file = io.open('log.txt', 'r')
print(file:read('*a'))
file:close()
1C | lua |
---|---|
Подстрока = Сред(Текст, 2, 2); | substr = text:sub(2, 3) |
Текст = ВРег(Текст); | text = text:upper() |
Текст = НРег(Текст); | text = text:lower() |
Текст = Лев(Текст, 2); | text = text:sub(1, 2) |
Текст = Прав(Текст, 2); | text = text:sub(-2, -1) |