1. Pascal / Говнокод #17759

    +94

    1. 1
    2. 2
    SetLength(kokoko, Length(kokoko)+1);
    kokoko[Length(kokoko)-1] := Something;

    БЕСИТ

    Запостил: TarasB, 10 Марта 2015

    Комментарии (70) RSS

    • в пхп много удобней kokoko[]='Something';
      Ответить
    • > Length(kokoko)-1
      и правда, печаль, если приходится переключаться между разными нумерециями (C/Pascal) и кэшированностью.
      // без кэширования, сишные нулевые нумереции:
      SetLength(k, Length(k)+1); k[Length(k)-1] := S;
      // без кэширования, паскальные единичные нумереции:
      SetLength(k, Length(k)+1); k[Length(k)] := S;
      // с кэшированием, нулевые нумереции:
      SetLength(k, L); k[L] := S;
      // с кэшированием, единичные нумереции:
      SetLength(k, L); k[L+1] := S;
      // в крестах/JS:
      k.push_back(S); // и мы счастливы
      Ответить
    • Что это за брехня? Бля, Тарас, ты паскалист - так и будь паскалистом! Скатился до уровня банального крестушка, я дрочу от обиды.
      Ответить
      • > Скатился до уровня банального крестушка
        Скатился до уровня банального сишника
        Ответить
        • Долджно быть, это ты его к этому склонил... [u]Нельзя соблазнять натуралов.[/b]
          Ответить
          • Если натурала можно склонить, значит такой он натурал.
            Ответить
    • Замечательный код, кстати. Лагает шопиздец из-за полного реаллока на каждый чих. А до вектора с джвумя размерами (allocated, used), который растягивается пореже, пасцалята не додумались.
      Ответить
      • Кстати, нет, не на каждый. Там вроде всё равно амортизированное O(N) выйдет если N элементов занести. Хотя когда скорость нужна, лучше вручную резервировать.
        Вообще код о том, какой чугунный синтаксис у массивов, нет даже блять простого PushBack.
        Ответить
        • > не на каждый
          Ты уверен? Вроде у этих массивов нету второго размера. Так что на каждый. И выйдет O(N^2), если заранее размер не знать и самому нигде не хранить второе число.
          Ответить
          • Аллокатор по любому хранит. Допустим тебе задали ресайз на 9 элементов, ты заказываешь у аллокатора на 16, в итоге вектор помнит 9, аллокатор 16. А дальше при реаллокации на 10 элементов, сам понимаешь, делается одна проверка чтоб ничего не делать.
            Но я не уверен, что там так и есть. В одном проекте у меня были нехреновые тормоза именно из-за добавления по одному элементу, и я убрал их именно ручным дополнением до степени двойки. И да, там было много тысяч элементов.
            Ответить
    • Похоже на гк бывшего сишника, которому дали проект на паскале. Хорошо ещё директив компилятора не накидал сюда.
      Ответить
    • if TSA[2].S[Length(TSA[2].S)] = ',' then SetLength(TSA[2].S, Length(TSA[2].S)-1);

      бля
      Ответить
      • И что тебя смущает генетически Сишник?
        п.с. Согласен в квадратные скобки нужно писать High(TSA[2].S) , но это лирика.
        Лучше скажи сколько парашекода нужно намаструбировать чтобы создать простейший "резиновый массив" на быдлоС++
        В любой момент получить его размер, увеличить, уменьшить, и так далее?
        Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • Ответить
    • cleaned
      Ответить
    • Ответить
    • cleaned
      Ответить
    • Ответить
    • cleaned
      Ответить
    • Через 12 секунд ниже в этом треде отпишется хохляцкий бомж Сёма.
      Ответить
    • cleaned
      Ответить
    • Через 10 секунд ниже в этом треде отпишется уёбок с порванным ачьком.
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • В пасцале нет списка?
      Ответить
      • даже если нет - напиши свой. У нас это была одна из первых лаб - односвязный и двусвязный список
        Ответить
        • Ты понимаешь, блядь, разницу между лабой и реальным программированием?
          Ответить
          • Блядь,если я, будучи первокурсником, который писал только на квикбейсике как то сумел сделать списки на делфи, то уж ты, взрослый программист на своем хуетоне, сможешь написать такую коллекцию, которая тебе нужна, блядь!
            Ответить
            • в питоне есть списки.
              Ответить
              • думаю программист на питоне может их и в паскале написать
                Ответить
            • Могу. Но не буду этим заниматься.
              Ответить
              • Неосилятор?
                Ответить
                • Ебать ты дебил. Хуле ты пишешь тогда на дотнете, пиши на асме или голом си и изобретай велосипеды.
                  Ответить
                  • я и на том и на том могу, если приспичит. А вас это удивляет?
                    Ответить
                    • Так ты не моги, ты пиши, блядь.
                      Любой мастер может забить гвоздь камнем, но почему-то этого никто не делает.
                      Ответить
                      • несите анальный охладитель для пидара!
                        Ответить
                        • Дебилизм троллингом не считается.
                          Ответить
                          • так выходит ты не тролль, ты дебил?
                            Ответить
                            • Нет, ты дебил. Ты на работе тоже велосипеды свои пишешь?
                              Ответить
                              • Я работаю дефлоратором, там велосипеды не нужны
                                Ответить
                                • > дефлоратором
                                  Цветочки собираешь, травку пропалываешь?
                                  Ответить
                                • Дефлорируешь овечек и арбузы?
                                  Ответить
    • /Ко-ко-ко

      Были ли петушки в далёком 2015 г.?
      Ответить

    Добавить комментарий