1. Python / Говнокод #14779

    −99

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    >>> max
    <built-in function max>
    >>> max.__call__
    <method-wrapper '__call__' of builtin_function_or_method object at 0x01D72080>
    >>> max.__call__.__call__
    <method-wrapper '__call__' of method-wrapper object at 0x022D2730>
    >>> max.__call__.__call__.__call__
    <method-wrapper '__call__' of method-wrapper object at 0x022D29B0>
    >>> max.__call__.__call__.__call__.__call__
    <method-wrapper '__call__' of method-wrapper object at 0x022D2970>
    >>> max.__call__.__call__.__call__.__call__(1,2,3)
    3

    We need to go deeper.

    Запостил: Vindicar, 21 Февраля 2014

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

    • В PHP, кажется, что-то подобное есть касательно $_массивов (ссылка на самого себя в массиве).
      Ответить
    • Что это за хуйня-то? Кэп?
      Ответить
      • У всех callable-объектов есть метод __call__(), который вызывается при "вызове" объекта. Т.е. callable_obj() - это по факту callable_obj.__call__(). Но что такое метод __call__()? Это, по сути, функция. А функция это callable object. Поэтому неё есть свой метод __call__(), ad infinitum.

        Разумеется, встроенные функции внутренне вызываются по другому, а метод __call__ у них не более чем формальность, "method-wrapper object", как и показано в ОП-посте.
        Ответить
        • everything is an object.
          even the "everything is an object" is an object.
          even the "even the \"everything is an object\" is an object." is an object.
          even the "even the \"even the \\\"everything is an object\\\" is an object.\" is an object." is an object.

          WHERE IT ALL ENDS!????

          ЗЫ в какой-то мере это как бы и демонстрирует маразм концепции "everything is an object". или как уже было сказано классиками в RFC1925, (6a): "It is always possible to add another level of indirection."
          Ответить
          • Да ладно, маразм. Небольшая эмуляция на уровне куда никто в обычных условиях не будет лазить. Зато однообразие соблюдено.
            Ответить
            • "Зато однообразие соблюдено."

              Оглядываясь назад, в своей карьере я видел на порядок больше говна созданого во славу "однообразия" - по сравнению с говном созданым по незнанинию или из-за инкомпетенции. Однообразие очень хорошая отмазка.
              Ответить
          • In Python "even the \"even the \\\"everything is an object\\\" is an object.\" is an object." is 3.
            Ответить
            • Почему 3?
              Ответить
              • См. говнокод :) Можно и 42 при желании. Лишь бы была какая-то определенность.
                Ответить
    • Какой-то калл
      Ответить

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