Где описан EachIn ? и как написать свой ? :)
ну собсно в LinkedList есть :
Код:
Rem а где описание етой функции ?! или ето типо встроенное в транслятор ? :( в общем есть куча (>50 екземпляров) такого кода : Код:
For local p:Blablabla = EachIn Bla_1 Код:
For local a:Blabla = EachIn Bla_2 дело в другом ... как ето поменять без особого изврата ? потому что тупо вставить второй цикл ето изврат :) я так понимаю что EachIn разворачивается в While - Wend ... :mda: (ето исходя из того как щетчик для связаного списка зделан) |
Re: Где описан EachIn ? и как написать свой ? :)
Код:
Link:TLink = MyList.FirstLink() |
Re: Где описан EachIn ? и как написать свой ? :)
dimanche13
главный вопрос : Цитата:
или тупо тогда уж два цикла писать 50 раз ... твой способ ваще не катит в принципе ... :) |
Re: Где описан EachIn ? и как написать свой ? :)
1. а где описание етой функции ?!
2. или ето типо встроенное в транслятор ? У меня сейчас БМакса нема, так что попробуй BRL.Blitz посмотреть. Если нету, то пункт 2, получается, что да :) :) |
Re: Где описан EachIn ? и как написать свой ? :)
jimon я тебе показал как пройти по списку БЕЗ eachin. Причем заменив пару строк, можно пройти список в обратном порядке от последнего к первому, что в eachin нельзя сделать. Так почему же мой способ не катит?
Ладно, пжлста, переведи список в массив объектов и крути там по индексам. Я вот тока не понимаю, зачем ты хочешь переделать что и так работает? Причем, как подтверждают многие тесты, и твой в том числе, что eachin работает очень шустро. Зачем тебе этот изврат? И еще вопрос, зачем вложенные циклы обхода листов? Думаю можно организовать программу как-то по-другому. |
Re: Где описан EachIn ? и как написать свой ? :)
dimanche13
тебе вечно надо что-то доказывать ... ну пожалуйста прочитай еще раз 10 мой первый пост :) теперь обьясню в TCreation есть CreationObjects:TList через 3 месяца появляется TCreationGroup и в TCreation появляется CreationGroups:TList в TCreationGroup есть Objects:TList если сложить все Objects из TCreationGroup то получим обьекты в CreationObjects:TList тоесть двойное полное дублирование всех ссылок ... тоесть памяти в два раза больше надо ... надо убрать CreationObjects малой кровью дело в том что он используется раз 50-60 в куче файлов JohnK видимо так и есть |
Re: Где описан EachIn ? и как написать свой ? :)
перечитал: "в Blitz.Mod есть ключевое слово EachIn..." - в первом посте. Ты сам говоришь ,что это ключевое слово! А ключевые слова как я знаю менять нельзя. замени for или local к примеру. Доказывать мне ничего не надо. Я сам могу доказать тебе, что захочу. Я лишь хочу тебе помочь в меру своих сил и возможностей. А насчет примера, то у тебя программа организована не так как тебе надо. Вывод: реорганизация.
|
Re: Где описан EachIn ? и как написать свой ? :)
Эх... Зачем вы всё время ругаетесь?.. ):
jimon, можешь поподробнее рассказать, зачем тебе нужно то, что нужно? Я малость запутался в... (: Может действительно со структурой косяк и нужен рефакторинг кода? |
Re: Где описан EachIn ? и как написать свой ? :)
elmortem
нужен как раз етот рефракторинг кода, только малой кровью собсно надо оптимальным путем засунуть два цикла в один лан забью на ето дело и буду писать два цикла :) |
Re: Где описан EachIn ? и как написать свой ? :)
Вполне возможно, что и не нужно вовсе убирать CreationObjects. Тем более, если удобнее его использовать. К тому же подозреваю, что 2 eachin работают в 2 раза медленнее, чем 1 eachin. ^__^
Просто при удалении объякта нжно будет учесть, что у тебя 2 перекрёстные ссылки хранятся. По крайней мере мне показалось, что это не критично. К тому же ссылка на объект - не сам объект и много памяти не отожрёт, а скорость обработки будет выше. Для какого-то проекта я делал подобным же образом специально... |
Re: Где описан EachIn ? и как написать свой ? :)
elmortem с чего ты взял что мы ругаемся? Я бы назвал это бурной беседой. Просто меня несколько напрягли слова jimonа "тебе вечно надо что-то доказывать" хотя в 16 лет я был таким же и мало кого уважал))) А jimonа я уважаю как прогера, сам пользовался его программой склейки PNG картинок. За что ему спасибо. В свою очередь хочу напомнить что я одним из первых откликнулся на его тему о названии игры и первым предложил использовать в названии слово Аква. А целью этого оффтопа являлось высказать простую фразу: надо уважать других)))
С уважением, dimanche13. |
Re: Где описан EachIn ? и как написать свой ? :)
dimanche13, elmortem
никто уже не ругается :) думаю все поняли друг друга в общем убрать CreationObjects я хотел только потому что оно жрет много памяти ... не то что много ... а в два раза больше :) когда внутрений менеджер показывает ~2метра ... меня ето пугает но так подумал что слишком проблематично его убрать лан пусть будет ети два метра ... ниче страшного если заоптимизировать менеджер ресурсов то общая память будет в районе 60 метров а так щас игра занимает в оперативке все 120 :( ( из которых 60 метров правда всего две картинки :-) ) в общем вопрос закрыт :) |
Re: Где описан EachIn ? и как написать свой ? :)
Т.е. у тебя около 2 миллионов объектов чтоль? Не верю. (:
Ссылка - она же 4 байта всего. Или ты имел в виду, что 2 метра занимают вообще все объекты? |
Re: Где описан EachIn ? и как написать свой ? :)
elmortem
угу, говорю же что 2 метра показывает внутрений менеджер памяти бмакса :) щас занимаюсь с динамической загрузкой\выгрузкой ресурсов :) |
Часовой пояс GMT +4, время: 07:38. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot