Змея / Говнокод #25345 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
class list(list):
    def __call__(self, *args):
        if len(args) == 0:
            return self[:]
        res = []
        for i in args:
            if type(i) == int:
                res.append(self[i])
            else:
                res.append(self(*i) if len(i) != 1 else [[[self(0)]]])
        return res

a = list(map(lambda x: x * x, range(10)))

print(a(1,0,(6,6,(5,4,3,(0)),6),3,2,(),8,))

Ебат, как добавить список с одним елементом?
https://ideone.com/Fik3PF

Запостил: Rooster Rooster, (Updated )

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

  • наркоман, что ты хочешь?
    Ответить
  • Бля, встроенный класс заменить нельзя, и метод __call__ у него заменить тоже. Походу надо свой класс. А я хотел чтоб [] создавали мой list :(((
    Ответить
        • за перепутывание кортежа со списком в сообществе питона дают смузи из гнилой брюквы
          Ответить
          • Я перепутал кортеж из одного елмента и выражение в скопках.
            Ответить
            • это питон
              в нем надо быть очень осторожным

              именно по этому я за
              Ответить
                • У меня нету такой истерической ненависти к питону как та, что я испытываю к пхп, хотя в питоне довольно много неконсистентности

                  Я вообще в целом не считаю что на скриптовых языках надо писать сложные программы. Скриптовые языки для скриптов, для glue code. А люди напишут на нем социальную сеть, а потом ябуца в жопу
                  Ответить
                  • Интересно, а фекал крестодизайна получится размером со Стандарт?
                    Ответить
                    • Есть два вида языков: на одних хуи др никто не пишет, а другие все критикуют. (c) Бйорне Страуструуп.

                      Плюсы и так все обсирают постоянно, любой плюсовик знает что плюсы говно, а вот скриптеры обычно фанбои того корявого говноинструмента, на котором они зарабатывают свой доширак

                      Приходица открывать им глазы
                      Ответить
                    • Там писанины будет не меньше чем для рнр, хотелось бы знать - это кому-то интересно будет? Или все скажут, что Сёма неосилятор и что питон прекрасен.
                      Ответить
                        • Кроме Apple Script конечно
                          -- Dialog
                          set dialogReply to display dialog "Dialog Text" ¬
                          	default answer "Text Answer" ¬
                          	hidden answer false ¬
                          	buttons {"Skip", "Okay", "Cancel"} ¬
                          	default button "Okay" ¬
                          	cancel button "Skip" ¬
                          	with title "Dialog Window Title" ¬
                          	with icon note ¬
                          	giving up after 15
                          Ответить
                    • какая у тебя циферка?
                      1
                      C programmer (fake C++ programmer) : They just know stdio.h and C syntax. However, it is possible to code C++ with only C syntax.

                      2
                      C with classes : They can use classes, overload, and virtual methods. However, using normal virtual methods in C++ have bad performance in speed.(vtable lookup)

                      3
                      C++ std programmer : They can use the std library of C++. e.g. vector, algorithm, iterator, string

                      4
                      C++ generics programmer : Able to make generics class and interface your original class to std.

                      5
                      Const programmer : read only memory programming makes efficient memory management

                      6
                      C++11er : lambdas, shared pointer, threads, move semantics
                      Boost User : Using boost to do modern C++ programming in old version of C++

                      7
                      Compile time programmer : Using templates & constexpr to make fast & memory efficient programming. Have great knowledge about compiler.

                      8
                      C++ specification hacker : Know various version of C++ specification and the condition of undefined behavior

                      9
                      C++ commitee member : Who makes C++. They are great hacker. You can find them in twitter.
                      Ответить
                      • Что-то между 7 и 8.

                        Но работаю где-то на 6, иначе как это потом читать?
                        Ответить
                      • Питушня какая-то. Нужно номера как степени двойки, чтобы определять своё число побитовым или.
                        Ответить
                        • Или как в «Барсике»: с шагом 10, чтобы потом добавлять промежуточные номера.
                          Ответить
      • «Какой картёж!» –— подумала Алиса. Это слово звучало как то не так, но она не знала, как поправить.
        Ответить
    • Эт куртеж, у меня письки.

      Что сьранно, hui.append([2]) добавляет список с одним елементом, а в моём коде вынимает всё нахуй
      Ответить
      • не надо так

        добавляй в письку школяр и все будет хорошо
        если ты суваешь писок в писок то и будет у тебя писька писек

        картёж вообще тут не причем
        Ответить
    • Вообще мне нужен результат [1, 0, [36, 36, [25, 16, 9, [0]], 36], 9, 4, [0, 1, 4, 9, 16, 25, 36, 49, 64, 81], 64]
      Ответить
      • а, извини
        result = [1, 0, [36, 36, [25, 16, 9, [0]], 36], 9, 4, [0, 1, 4, 9, 16, 25, 36, 49, 64, 81], 64]
        Ответить
    • И правла, я зопутался, надо ьыло не (0) а (0,)

      А в 10-й строчке res.append(self(*i))

      Сую неправильные данные и ошиппку ищу не ту 😀
      Ответить
    • ничего страшного, у птиц это постоянно бывает
      у вас же нет сфинктера
      Ответить
  • Вообще, у встроенных типов можно метходы заменять?
    Ответить
    • can't set attributes of built-in/extension type 'list'
      Ответить
      • Так тоже не получается:
        >>> list.__dict__["__call__"] = myslice
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        TypeError: 'dict_proxy' object does not support item assignment
        Ответить
        • Именно по этому я за руби
          class Array
            def length
               42
             end
          end
          
          p [1,2,3].length #42


          Я так же за lua
          local fucker = {__len=function() return 42 end}
          
          local array = {1,2,3}
          
          print(#array) --3
          setmetatable(array, fucker)
          print(#array) --42
          Ответить
          • А я за «Хрюпескарь»: в нём можно создавать хелперы для любого типа данных.

            Можно создать хелпер для чужого класса. Он будет выглядеть так, как будто мы в класс добавили метод:
            https://www.freepascal.org/docs-html/current/ref/refse61.html

            Можно создать хелпер для простых типов. Даже для целого питуха:
            https://www.freepascal.org/docs-html/current/ref/refse63.html
            Ответить
            • ахахха, да это же экстеншен методы из C# и Kotlin
              или категории из ObjC

              И уж конечно во все классы (особенно в руби) их можно добавлять
              Ответить
              • «Руби» совершенно не удивляет, это же «динамический» язык.

                В «C#» и в «Java» (про «Кокококотлин» не скажу, я его пока не трогал) всё является объектом, даже небо, даже Аллах (помним прикол с порчей кэша мелких чисел?), поэтому экстеншен методы в теории возможны для всего.

                В «ObjC» нет методов в классическом для статически типизированных языков смысле. Там у объекта есть диспетчер, кокококоторый принимает сообщения.

                А вот добавление подобных расширений в язык совершенно другой категории немного неожиданно. Хотя по сути это же всего лишь синтаксический сахар: невиртуальный метод —– это просто функция, в кококоторую первым аргументом неявно передаётся this/self.
                Ответить

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8