Size: a a a

2020 January 11

MT

Monsieur Taishín in pro.lua
как печально получается....  
fun a(var1, {}, var2)
источник

S

Snusmumriken in pro.lua
Vadim Misbakh-Soloviov
я очень удивлюсь, если PA заработает на венде
источник

S

Snusmumriken in pro.lua
Monsieur Taishín
как печально получается....  
fun a(var1, {}, var2)
function foo(t)
 local x = t.x or 0 --< дефолты
 local y = t.y or 0
 return x + y
end


print( foo{x = 10, y = 20} ) --> 30
print( foo{x = 1} ) --> 1
источник

MT

Monsieur Taishín in pro.lua
Snusmumriken
function foo(t)
 local x = t.x or 0 --< дефолты
 local y = t.y or 0
 return x + y
end


print( foo{x = 10, y = 20} ) --> 30
print( foo{x = 1} ) --> 1
{ ['screen'] = screen, ['x']=20, ['y']=10, ['w']=30 }

не так?
источник

S

Snusmumriken in pro.lua
Ух как страшно. Ты зачем обычные строковые ключи загоняешь в ['bla']? Там же нет спецсимволов, можно просто bla.
источник

S

Snusmumriken in pro.lua
Всё ровно так, как написано на упаковке
источник

S

Snusmumriken in pro.lua
У луёв даже сахарок есть, что функцию с таблицей можно вызывать без круглых скобок, как раз для именованных аргументов. Но злоупотреблять этим не советую, потому что таблицы создаются в оперативной памяти а не в кеше, и разметка стоит довольно дорого (а потом ещё мусор собрать), если тебе это важно.
источник

MT

Monsieur Taishín in pro.lua
Snusmumriken
Ух как страшно. Ты зачем обычные строковые ключи загоняешь в ['bla']? Там же нет спецсимволов, можно просто bla.
да просто один раз ругался на нил валуе и в доках нашел такой вариант
источник

S

Snusmumriken in pro.lua
Ну ругнулся потому что ты дефолты внутри функции не прописал. Да, если какая-то переменная булеанова, и дефолт — true — проверяй тип.
источник

S

Snusmumriken in pro.lua
Ну типа
local b = type(t.bool) == 'boolean' and b or true
Обычный or решит, что если передали false, то это фигня полная, и принудительно укажет true.
источник

S

Snusmumriken in pro.lua
источник

S

Snusmumriken in pro.lua
Пришло время мемов про булы.
источник

AZ

Aydar Zarifullin in pro.lua
Snusmumriken
Пришло время мемов про булы.
А можно для не плюсовика расшифровать?
источник

f

fgntfg in pro.lua
Какая-то хрень
источник

S

Snusmumriken in pro.lua
Окей.
vector<bool> это явно фигня для замены флагов. Ну, типа передача куда-то набора флагов для чего-нибудь, мол "если первый флаг выставлен в true — то делаем какую-то фигню". Нормальные люди передают char, где выставляет флаги битовыми сдвигами типа c = c << 1 | 1; для выставления второго бита в true, или v = c << 1 & 1; для чтения. А вектор (динамический массив) — это офигенный оверхед, проще уж тогда структурой фигачить.

unordered_set<bool> — это вообще хтоническая фигня. Если у вектора мы могли определить, что значит тот или иной бул по соглашению в программе и порядковому номеру, то тут НЕ МОЖЕМ )))
источник

VM

Vadim Misbakh-Soloviov in pro.lua
ну, эт
источник

VM

Vadim Misbakh-Soloviov in pro.lua
vector<bool> не только для флагов, но и если хочется побайтоважествовать
источник

S

Snusmumriken in pro.lua
Но не умеешь в битовые сдвиги. да?
Ах да, каждый элемент vector<bool> это всё ещё short, то есть для хранения одного бита расходуется целый байт. Если компилятор это не оптимизирует, он гипотетически может.
источник

S

Snusmumriken in pro.lua
Вот в луях — хорошо, тут типы принципиально довольно жирные, но ты не паришься на эту тему просто потому что с этим ничего нельзя сделать.
источник

f

fgntfg in pro.lua
Сделать можно
источник