Snusmumriken
Лучше таки ключами, они так лучше идентифицируются.
Lucky
а от единицы и выше - динамические
Lucky
у мну в игре были стеки
Lucky
индексами ловчее оказалось
Snusmumriken
Ну там, я условно:
local users = {}
function users:addUser(name, pass)
table.insert(self, {name = name, pass = pass})
end
function users:getUserPass(name)
for i, v in ipairs(self) do
if v.name == name then return v.pass end
end
end
Тут строковые ключи это функции, методы и параметры, а числовые — список соответствующей фигни, с которой работают методы. В бытовом кодинге очень удобно. Например, список проксей с выбором случайной из списка, или чот такое.
Lucky
В движке Pipmak с помощью такого трюка синглтон реализован.
Snusmumriken
Ну это можно и не синглтонить, хотя тут конкретно да, синглтон. Ничо страшного. Фактически, это "хранилище с методами над этим хранилищем".
Lucky
ага
Egor
Как лучше сделать, посоветуйте. Использую lua-amalg. Есть там два способа, запускать как скрипт и тогда придется указывать все модули, которые использует скрипт, Или как модуль, и он сам все найдет. Кто-нибудь знает, как собрать в один файл, с автоматическим сбором всех модулей, НО, без проверки скрипта? Так как мой скрипт запускается при втором варианте и пытается найти глобальную переменную. которая не существует в моих скриптах (так как мой скрипт подгружает уже другие модули, которых нету в данном случае) ?
Egor
Просто мне очень лениво описывать вот так:
%TOOLSDIR%\%LUAPATH% %TOOLSDIR%\amalg.lua -s autoconf\space_autopilot.lua -o space_autopilot_bundled.lua ...functions.defaultControl.onActionStart ...functions.defaultControl.onActionStop ...functions.defaultControl.onActionLoop
ㅤ
Lucky
допиши спереди install cygwin [шутка]
Lucky
https://cygwin.com/install.html
Egor
Ну..если честно у меня есть git bash =)
Lucky
Egor
Я думаю, может написать на питоне такую вещь. Которая бы собирала весь список подрубленных модулей. Потом генерила cmd и запускала его =)
Lucky
автоматизация кошерна
Egor
я на работе и занимаюсь в основном питоноавтоматизацией )
🐅🤦♂️
Я ставлю цигвин, в нем zsh для интерактивного терминала. Потом качаю гит с оффсайта - в систему добавляется gitbash. Потом хочу гцц последней версии для x86, качаю что-то, не помню как называется. Появляется ещё один тулчейн. Потом что-то обновляется и ломается. Затем я скачиваю RapidEnvironmentEditor и начанию править переменные окружения. Надоедает и ставлю Линукс в дуалбут. Линукс разочаровывает - выходит новая версия винды. Снова по кругу.
🐅🤦♂️
Ни кто не знает, существуют
premake
скрипты для сборки love?
Super
Привет ребята, у меня тут задача появилась - выбрать рэндомный айпи v6 из диапазона
Super
Может есть что-то готовое на луа для этих целей?
Super
если я верно понял, надо взять массивчик 16 ричной системы 1 .. F
Super
и затем каждую цифру из диапазона рэндомную взять
fgntfg
А на сколько у тебя большой диапазон?
fgntfg
Как он задается?
fgntfg
Возможно постановка задачи решает задачу
Super
и здесь все что после 2901 может принимат значения от 1 до F
Super
1 2 3 4 5 6 7 8 9 0 a b c d e f
fgntfg
Хмм. А надо ли следить, чтоб подряд не шли адреса или чтоб повторов не было?
Super
мне надо на луа рэндомный генератор айпи из диапазона сделать
Super
да их тут столько, что хватит рэндома
Super
просто каждый раз хочу рэндомный айпи выбирать
Super
но я правильно понимаю саму генерацию адреса?
Super
если я верно понял - это последний будет
Alex
могу тебе предложить ввзять массив длинной отсавшихся цифр пройтись по этому массиву и для каждого элемента сгенерить символ от 1 до F и потом с конкатить
Super
кстати, а нету случаем на луа рэндомного генератора в 16 ричной системе?
Super
тут понадобилось бы меньше итераций
Super
можно грубо говоря вообще 1 взять
Super
от 1 до FFFFFFFFFFFFFFFFFFFFFFFF
Alex
local symbol = {'a','b'....} ; symbol[rnd(1,16)] кратко как тот так
Super
понял, спасибо. примерно так я и думал сделать, хотя конечно хотелось бы как-то красивее может
Super
ну да, я понимаю, это самый простой вариант будет
Super
пока сделаю тогда так
fgntfg
fgntfg
Я бы писал через format.string с %x
fgntfg
Как в старой доброй сишке
fgntfg
Можно еще посмотреть сколько бит у тебя int, чтоб меньше раз дергать random
Super
а рэндомного генератора именно в 16 ричной системе не существует? желательно как си модуль
Super
мне кажется это быстрее всего бы работало, чем самому 16 рэндомных значений генерить
Super
тут их даже не 16 а 24 выходит
Super
ну ладно, пока сделаю самый простой вариант, а потом подумаю, как оптимизировать, спасибо
fgntfg
fgntfg
Даже ipv6 на деле - строка бит
Super
это да, было бы здорово иметь готовое решение для таких задач, типа модуля на си
Serezha
ну если этот адрес не нужно роутить на реальные сети учитывая всякие уникатсы - сгенери просто 8 чисел от 0 до 65535 - преобразуй к шестандацетричной системе и склей через двоеточие
Super
понял, спасибо
Super
не, мне просто нужно для краулеринга, как интерфейсы
Super
на тот жу гугл транслейт и т.д.
Serezha
а как это помогает?
Serezha
я Luminati использую для транслейта
Super
ну транслейт не банит в принципе, если с одного айпи не сильно пользовать
Super
и он доступен по ipv6, посмотрим будет ли банить их
Super
/32 это дофига
Super
luminati интересный сервис, я видел proxyrack
Serezha
ну у меня суммарно около 100К айпишников в том проксике и 429 код прилетает регулярно даже на такой базе
Super
так они возможно не только у тебя
Serezha
когда юзал блок из 20К пролетало до 10 подряд too many requests
Super
т.е. ты их как бы пользуешь, но кто-то может еще их забивать
Serezha
ессно
Super
а тут 64K * 65535 айпи
Super
мне кажется что не должен прямо совсем их банить он
Super
хотя посмотрим
Serezha
ну я прост не понимаю как ты гугл обманешь 🙂
Super
ну как, рэндом айпи юзать из этого списка
Super
никакого обмана
Serezha
твой запрос придет с какого то реального апйи4 или 6 как подделаешь оьратный я не понимаю