Size: a a a

2020 April 21

S

Snusmumriken in pro.lua
Arslan Yulbirdin
unpack разбивает таблицу на переменные?
Да, разбивает таблицу-массив на отдельные значения.

a, b, c = unpack({1, 2, 3, 4})
print(a, c) --> 1 3

То ли в 5.2, то ли в 5.3, её перевели в библиотеку table, то есть используется как table.unpack(...).

Не стоит пытаться распаковывать таблицы больше чем на тысячу-другую значений, это может быть вредно.
источник

TT

TONYMIN TGD in pro.lua
Так, какие - то функции - замыкания...
источник

TT

TONYMIN TGD in pro.lua
хм
источник

S

Snusmumriken in pro.lua
TONYMIN TGD
Так, какие - то функции - замыкания...
Иди своей дорогой, сталкер. Тут нет ничего ценного для тебя.
источник

TT

TONYMIN TGD in pro.lua
Почему? Тут есть новая информация и знания.
источник

L

Leon174 in pro.lua
Ameliance SkyMusic
Спасибо, гляну, но это не главный вопрос, мне кажется этой штукой я вряд ли буду пользоваться) Просто нужно все равно разобраться, вдруг пригодится

Я не ас в программировании и это как хобби больше. На Lua программирую только скрипты для Reaper DAW. Вчера решил почитать, кое что по таблицам, метатаблицам и методам, освежить, а кое где продвинутся, но есть парочку вопросов, которые актуальны сейчас для меня больше. еще немного почитаю и если не разберусь, то задам)
"...мне кажется этой штукой я вряд ли буду пользоваться) Просто нужно все равно разобраться, вдруг пригодится"

А не всеми фичами и нужно пользоваться, какие-то вещи могут меняться, удаляться. Какие-то могут быть спорными, но точно никто не скажет, нужно оно или нет, мнения разные бывают. Я вот про миксины в typescript с утра читал. Кто-то говорит, что это дрянь редкостная, кто-то, что они (первые) дураки и готовить миксины не умеют. Но примерно знать нужно, это точно, чтобы не велосипедить потом. Я вот понятия не имею, нужны ли мне миксины и вообще тайпскрипт. Что-то примерно для себя понял, если приспичит, вернусь за подробностями.

А по замыканиям еще можно по темам джаваскрипта посмотреть, там это популярная штука.
источник

S

Snusmumriken in pro.lua
TONYMIN TGD
Почему? Тут есть новая информация и знания.
Не все знания одинаково полезны. И эти для тебя сейчас вообще вредны.
источник

TT

TONYMIN TGD in pro.lua
Я вот не знал, что можно свои итераторы писать.
источник

TT

TONYMIN TGD in pro.lua
Всё равно не понял, как ето работает👌
источник

TT

TONYMIN TGD in pro.lua
А почему вредны?
источник

S

Snusmumriken in pro.lua
А почему вредны? Ответь на вопрос, пожалуйста : )
Я это уже объяснял, пришло время вспоминать или выводить самостоятельно.
источник

TT

TONYMIN TGD in pro.lua
Может, потому что это неприменимо для меня?
источник

TT

TONYMIN TGD in pro.lua
Ну ты писал, что я лез туда, куда на текущий момент нет смысла лезть, да и знаний моих там не хватит.
источник

A

Ameliance SkyMusic in pro.lua
Leon174
"...мне кажется этой штукой я вряд ли буду пользоваться) Просто нужно все равно разобраться, вдруг пригодится"

А не всеми фичами и нужно пользоваться, какие-то вещи могут меняться, удаляться. Какие-то могут быть спорными, но точно никто не скажет, нужно оно или нет, мнения разные бывают. Я вот про миксины в typescript с утра читал. Кто-то говорит, что это дрянь редкостная, кто-то, что они (первые) дураки и готовить миксины не умеют. Но примерно знать нужно, это точно, чтобы не велосипедить потом. Я вот понятия не имею, нужны ли мне миксины и вообще тайпскрипт. Что-то примерно для себя понял, если приспичит, вернусь за подробностями.

А по замыканиям еще можно по темам джаваскрипта посмотреть, там это популярная штука.
по этому нужно разобраться... я когда для себя понял наконец как юзатьcase в js, так почувствовал себя дураком полным, что раньше не вникал (в луа же нет их?)
источник

S

Snusmumriken in pro.lua
Ага, а ещё, лишний мусор в голове. Смотрел советского Шерлока Холмса? Он не был в курсе что земля вращается вокруг солнца, но ему было плевать: на его деятельности это никак не отражается. Так-то это мусор, которым забивают голову, и только нескольким людям из тысячи, это информация оказывается действительно полезной, ибо они используют её в профессиональной деятельности.

Лямбды и замыкания тебе понадобятся ОЧЕНЬ нескоро, если понадобятся вообще.
источник

L

Leon174 in pro.lua
Ameliance SkyMusic
по этому нужно разобраться... я когда для себя понял наконец как юзатьcase в js, так почувствовал себя дураком полным, что раньше не вникал (в луа же нет их?)
Case в смысле switch? Не, в луа switch отсутствует. Там много чего нет, что бы очень хотелось. Ну, что поделать, "нет в жизне щасья". Я вот писал (скорее, мучился) на предметно-ориентированном языке, в котором не было ни одного вида циклов. Поддержка баз данных была, подержка родной геометрии была, даже модульность была, а вот циклов не было. Только метки и безусловный переход. И всё, жуй, не обляпайся. Ничего, не помер, писал как-то. Правда, потом туда python подвезли и про то сатанинское поделие я почти позабыл.

"Reaper DAW" - прикольно, куда только луа не воткнули.
источник

S

Snusmumriken in pro.lua
Ameliance SkyMusic
по этому нужно разобраться... я когда для себя понял наконец как юзатьcase в js, так почувствовал себя дураком полным, что раньше не вникал (в луа же нет их?)
Есть тернарники:

local a = "foo"
local v = 100500

v = a == "foo" and (v + 1)
or a == "bar" and (v - 1)
or a == "baz" and 0
or -1

Или таблицы-свитчи:
local switch = {
  ["foo"] = function(v) return v + 1 end,
  ["bar"] = function(v) return v - 1 end,
  ["baz"] = function(v) return 0 end,
}

local a = "foo"
local v = 100500

v = switch[a] and switch[a](v) or 0
источник

MA

Mons Anderson in pro.lua
"тернарники" плохо работают, если в качестве значений бывают нужны nil или false ;)
источник

L

Leon174 in pro.lua
Да вот сразу, чего уж тут. Там, кстати, как и у Снуса используются анонимные функции. К вопросу о нужности.

http://lua-users.org/wiki/SwitchStatement
источник

S

Snusmumriken in pro.lua
Mons Anderson
"тернарники" плохо работают, если в качестве значений бывают нужны nil или false ;)
Да. Но такое не так уж часто использеются. Я на таком попадал всего раза два или три за несколько лет.
источник