Вводный курс в типы Lua
11 10 127
0
37
11 лет назад
0
Ну так надо думать о своих юзерах =) они тоже хотят полноценный язык! чВ
0
24
11 лет назад
0
ScorpioT1000, ну булы нынче во многих языках занимают не меньше места чем инт в виде отдельных переменных, более того, в некоторых языках true и false это синтаксический сахар, а на деле используется 0 и 1. Что касается флоатов - падение производительности будет слишком большое если их заменить строками. Что касается джасcа, то не стоит путать работу в рамках закрытой системы, когда нет другого выбора и разработку своего приложения с использованием нормального языка в качестве основы, а Lua в качестве скрипта. Так что это еще вопрос кто тут бред пишет.
Еще раз подчеркну что я не рассматриваю сейчас особенности работы с Love2D.
0
31
11 лет назад
Отредактирован Алексей Андреич
0
Незначительная опечатка:
Мы может присвоить переменной...
Мы можем присвоить переменной... :)
исправил...
0
37
11 лет назад
Отредактирован ScorpioT1000
0
prog, ты честно бред говоришь сейчас =) давайте еще булы и флоаты выпилим и я могу щас твой пост так же под то что они не нужны подвести типа всё может быть стрингами...
джасс тоже не предназначался для всего этого, однако
1
12
11 лет назад
1
Незначительная опечатка:
Мы может присвоить переменной...
Мы можем присвоить переменной... :)
0
24
11 лет назад
0
ScorpioT1000, в lua с этим отлично справляется то что есть. Указатели и хендлы не должны доходить до луа, если это происходит - что-то не так с архитектурой. Индексы для массивов - в луа нет массивов в классическом их смысле, только ассоциативные, которые отлично понимают тот тип что используется в Lua и даже проводят оптимизацию если это возможно. Массив интов как байтов для шифрования - этим не должен заниматься Lua, а если все-же занимается, то есть в 5.2 библиотека bin32. Cто опций в одном интежере (на деле их все-же не сто, правда?), целочисленная арифметика - та-же библиотека bin32 из 5.2 версии lua.
Хочу подчеркнуть, что Lua не позиционируется как самостоятельный язык программирования - он разработан и предназначен преимущественно для интеграции в существующие системы на других языках. Можно привести тысячу примеров того, что сложно или непродуктивно или невозможно реализовать на Lua, но все они относятся к задачам, которые Lua и не должен выполнять по своей природе. В контексте платформы Love2D это, конечно, имеет несколько другой смысл - тут порой приходится писать на Lua всякое непотребство, но попытка слишком много переложить на Lua это не проблема самого Lua.
0
37
11 лет назад
0
не сталкивался ни с жесткой необходимостью их использования
индексы для массивов? сто опций в одном интежере? целочисленная арифметика? хранение и оперирование с указателями и хендлами? массив интов как байтов для шифрования? (строка не всегда для этого полезна)
0
24
11 лет назад
0
Замечу, что Lua можно интегрировать не только в C или C++, хотя именно на такую интеграцию он и рассчитан. Например, есть Java обертка над библиотекой Lua, не путать с реализацией Lua на джаве, такая тоже есть, но это для извращенцев.
ScorpioT1000, не такая и проблема, если учитывать что арифметические действия в Lua это самый ресурсоемкий процесс и не делать в Lua лишних вычислений.
Что касается побитовых операций, то в 5.2, если не ошибаюсь, для этого в появилась библиотека, правда работает она довольно специфично.
Что касается интов как таковых - не сталкивался ни с жесткой необходимостью их использования (без выхода за 52 бита целые числа ведут себя в Lua как положено, не смотря на свою плавающую природу), зато видел экзотическое решение - использование только целых чисел (числовой тип был насильственно заменен на long int).
1
37
11 лет назад
1
в Lua нет отдельного целочисленного типа.
наверно самая главная проблема луа =)
на деле можно имплементировать бинарные операторы и специальный юзертип int32 / int64
bin32 in lua
Нельзя отождествлять потоки Lua с потоками операционной системы.
это тоже от программиста, кто пишет оболочку зависит
можно реализовать свои потоки и синк для юзания в луа
Проект, посвященный бесплатному, кроссплатформенному фреймворку с открытым исходным кодом для разработки 2D-игр
31 31 891
0
31
11 лет назад
0
подкорректировал старую статью, добавил новую...
После завершения перевода статей по Lua 5.2
будут выкладываться статьи непосредственно по Love2d