Highly Likely
Ух какой бугурт. Но я тоже считаю, что можно соблюдать хотя бы одно банальное правило — писать название языка правильно
Highly Likely
Я уже не говорю про то, что постить вакансию питониста в Луа чат — это вообще за гранью моего понимания
Highly Likely
Ты пришел в сообщество за помощью. Бесплатной. Чтобы другие потратили время на твой вопрос/проблему. Ну так будь добр, потрать 15 минут своего священного времени на то, чтобы хотя бы быть этичным в этом сообществе
mva
Ты конечно админ, но сам являешься ярким примером "душнилы". Перечитай свои посты что-ли на досуге. Люди наверняка тебе не раз давали это понять в общении, но бесполезно.
я правильно понимаю, что не быть "душнилой" - это терпеть случаи когда "не душлила" (обвиняющий) считает себя выше других и вместо следования правилам приличия (и иногда даже правилам сообщества) (я не только про текущую ситуацию, я про вообще) считает что он тут пуп земли, не уважает ни самих других людей и их время, и наплевательски относится даже к банальному сетевому этикету?
Leon174
Я давно предлагаю админо-баттл. Вопрос-то принципиальный.
mva
в 146% случаев в "душнизме" обвиняют те, кто из-за своей лени (или других причин) заставляют напрягаться (и иным образом проявляют неуважение) к другим (к сообществу). Характерной чертой при этом является что им что-то нужно, но напрягаться ради них должны другие. И при этом они не делают ничего полезного для сообщества.
R
"Кому душно, могут не дышать".
Luсky
LUA - What does LUA stand for? The Free Dictionary https://acronyms.thefreedictionary.com/LUA
Luсky
[немножко душнит]
Luсky
А где тут Lua?
Вот именно.
mva
кстати, интересный момент: у нас в генте Луну 5.2 внесли в список запрещёнки устаревших API/ABI
mva
т.е. ставить пакеты под 5.1/5.3/5.4 и LJ (который пока всё ещё притворяется 5.1, но, всё же, имеет отдельный таргет) - можно, а чтобы под 5.2 поставить - нужно напрячься так, что среднестатистический пользователь не осилит
mva
ну и так по интернетам я тоже видел что к 5.2 как-то негативненько относятся
mva
интересно, почему так
mva
в 5.3/5.4 вроде как не убрали ничего из "нововведений" 5.2
Snusmumriken
А не в 5.2 ли появился очередной новый GC?
В 5.4 его переделали под генеративный, но до этого вроде не было правок.
Highly Likely
В 5.4 его переделали под генеративный, но до этого вроде не было правок.
Про 5.4 я помню, но в памяти как будто бы еще что-то было про изменения в других версиях
Daniil
Про 5.4 я помню, но в памяти как будто бы еще что-то было про изменения в других версиях
LUAjit (написание для ценителей 😁) был на переходе 5.1 -> 5.2 Может с этим как-то связано?
Ameliance
Привет. Есть кто hammerspoon юзает?
mva
там и от 5.3 включаемые в компайл-тайме фичи есть
mva
кстати, поздравляю всех с круглым числом участников чата :)
fgntfg
Ура
Tony
Хотя погодите
fgntfg
Tony
Степень-то девятая
Egor
wooona
Leon174
Кубическое число
Tony
Так даже лучше
Tony
Дважды кубическое
Serhiy
Ребят, есть info = JSON:decode(response) Как это выразить в pcall?
Serhiy
Serhiy
Сделал так, работает А по другому никак?
Snusmumriken
function safedecode(...) local succ, res = pcall(json.decode, ...) if not succ then return nil, res end return res end
Serhiy
sps
Roy
в луа область видимости как устроена? Я могу сделать что-то типа foo() local function foo() end
Roy
То есть, вызовы функций происходят выше определения функции
Leon174
Не можешь. Lua интерпретируемый язык и не может знать, что определение будет где-то ниже вызова.
Roy
А как я могу передать args в функцию, но уже в развернутом виде
Roy
то есть, я хочу вытащить что лежит в args и передать в функции
Roy
Короче, развернуть args в список аргументов которые есть в CALLBACK функциях
Александр
А как я могу передать args в функцию, но уже в развернутом виде
Правда в этом случае args лишний, можно просто передавать как ...
Roy
table.unpack(args) (lua 5.3)
Так, у меня luajit
Roy
2.0.5 версии
Roy
там вроде луа 5.1
Александр
Тогда unpack
Roy
Roy
так?
Roy
Слушай, а у меня в веб версии просто ... тоже работает, без унпака
Roy
Roy
Вон справа вывод
Roy
https://t.me/ProLua/86496
аа проглядел
Илья
Не можешь. Lua интерпретируемый язык и не может знать, что определение будет где-то ниже вызова.
Интерпретируемость здесь вообще ни при чём. Перл, например, тоже интерпретируемый: https://perlbanjo.com/59472d4df2
Snusmumriken
Интерпретируемость здесь вообще ни при чём. Перл, например, тоже интерпретируемый: https://perlbanjo.com/59472d4df2
Это значит только одно: перл сначала собирает все определения (грубо говоря вытягивает их наверх или что-то такое), а потом исполняет. В луях так тоже можно, но надо препроцессить.
Snusmumriken
Или при попытке вызова неопределённых функций приостанавливает интерпретатор и мотает дальше, пока не наткнётся. Нелинейное исполнение типа. Я не в курсе как работает перл.
Илья
Это значит только одно: перл сначала собирает все определения (грубо говоря вытягивает их наверх или что-то такое), а потом исполняет. В луях так тоже можно, но надо препроцессить.
Естественно. Это лишь пример того, что вообще не важно "интерпретируемый" язык, или "компилируемый", т. к. почти все "интерпретируемые" языки всё равно компилируются в какое-то промежуточное представление, которое потом выполняется.
Илья
Просто компилятор перла собирает определения, а компилятор луёв — нет
Илья
Но это ломает последовательности.
Ну просто такое поведение у языка, если определений несколько, то берётся последнее
Илья
Если писать use warnings, то тебя об этом предупредит
Илья
Хотя вообще я с ходу не скажу, как это работает с переопределением функций в рантайме
Roy
@smertig а есть какие то коллизии для имен функций? Например, если объявлено в разных .lua скриптах одинаковые имена функций -- temp.lua function foo() end -- temp_other.lua function foo() end
Snusmumriken
Это значит только одно: перл сначала собирает все определения (грубо говоря вытягивает их наверх или что-то такое), а потом исполняет. В луях так тоже можно, но надо препроцессить.
Вот этот вариант. Перл ничего не исполняет, сначала делает первый прогон скрипта и вылавливает определения, потом второй прогон где игнорирует определения и только исполняет.
Александр
@smertig а есть какие то коллизии для имен функций? Например, если объявлено в разных .lua скриптах одинаковые имена функций -- temp.lua function foo() end -- temp_other.lua function foo() end
Зависит от того, в каком окружении выполняется файл, и от модификаторов local и вообще скоупа функции. В этом примере если просто сделать два dofile, то функция перезапишется
Snusmumriken
@smertig а есть какие то коллизии для имен функций? Например, если объявлено в разных .lua скриптах одинаковые имена функций -- temp.lua function foo() end -- temp_other.lua function foo() end
Исполняется активная в данный момент функция: foo() -- ошибка, этой функции пока нет require"temp.lua" foo() -- вызвана из temp.lua require"temp_other.lua" foo() -- вызвана из temp_other.lua