Да, там некислый такой набор весьма оптимизированных функций для utf8. В snus_string.
Читать полностью…Как только мы вешаем метатабличку на любое число через debug.setmetatable, ВСЕ числа ВЕЗДЕ начинают вести себя через эту метатабличку.
loadstring не создаёт новых стейтов.
Ну типа:
require"snus_string".import()Читать полностью…
for endbyte, char in ("Привет"):uchars() do
print(char)
end
> П
> р
> и
> в
...
У debug есть функция setmetatable, которая может вешать метатаблички на любые типы, включая луашные стандартные, типа чисел-строк-булеанов-nil и так далее.
Правда, делает это глобально. На все существующие числа-булеаны в данном стейте.
Нормально так работает вместе с остальными либами из пачки snus_string/snus_math/snus_table, если их импортить. Правда, при импорте они самовольно расширяют стандартную либу..
Читать полностью…Ну считай сделать синтаксис который сам хочу. И скорость не будет отличаться от чистого луа. После запуска создаются луа файлы. И при билде будут использоваться именно они.
Читать полностью…Хмм, не помню чтобы я мутил i++
в луашке, это требует лезть во внутрянку парсера. Может быть, стрелочные функции?
А вот что я делал — добавлял объектную модель к атомарным типам, чтобы вжух вжух ((5):pow(3) / (25):log()):format("Result: %f"):print()
Да имеет право на жизнь, взять тот же godot или gamemaker со своими япами, но всё же. Цель конечная какая? Просто сделать?
Я если что без негатива интересуюсь)))
object Names
name1: 'Max'
name2: 'Miha'
name3: 'Artem'
print(Names.name2)
Names.name2 = 100
fence
print(999)
local run = CYAN.run; local class = CYAN.class;Names = {
name1 = 'Max',
name2 = 'Miha',
name3 = 'Artem',}
print(Names.name2)
Names.name2 = 100
pcall(function()
print(999) end)
Я думаю список был условно говоря взят с потолка из какого то топа и не более. Тем более сам представитель пришёл и запостил.
Читать полностью…Мне интересно, ты типо дал метатабличку стандартным данным? На словах просто приятнее разбираться. Ты отлично объясняешь
Читать полностью…https://github.com/HDPLocust/snus_stuff/blob/main/snus_fuse.md
https://github.com/HDPLocust/snus_stuff/blob/main/snus_fuse.lua
Не, ты запамятовал, делал в 2018-2019, ты показал как это можно реализовать и оно работало, но скорость работы подкачала
Читать полностью…всё это круто и классно, но чем тебе луа не понравился? Выглядит шило на мыло, В чём преимущество? Своим словами.
Читать полностью…Так 100% работает
local circle = display.newCircle(display.contentCenterX, display.contentCenterY, 50)Читать полностью…
local speed = {
x = 0,
y = 0
}
Runtime:addEventListener("accelerometer", function(ev)
speed.x = ev.xGravity*50
speed.y = -ev.yGravity*50
end)
Runtime:addEventListener("enterFrame", function()
circle.x = circle.x + speed.x
circle.y = circle.y + speed.y
end)
То что может делать под веб, ограничений под движок нету, я же правильно понимаю @helenwolf_marketer?
Читать полностью…