1. Java / Говнокод #3976

    +112

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    private int nextEscaped() {
            int ch = temp[++cursor];
            return ch;
        }
        private int readEscaped() {
            int ch = temp[cursor++];
            return ch;
        }
        private int read() {
            int ch = temp[cursor++];
            if (has(COMMENTS))
                ch = parsePastWhitespace(ch);
            return ch;
        }
        private int peek() {
            int ch = temp[cursor];
            if (has(COMMENTS))
                ch = peekPastWhitespace(ch);
            return ch;
        }

    блин, праздник все-таки - запостю еще один. источник тот же что и в http://govnokod.ru/3975

    Запостил: 3.14159265, 13 Августа 2010

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

    • Тоже неплохо) А можно про read() и peek() пояснить? Точнее что таке оне делают с вайтспейсами?
      Ответить
      • смысл тот же, что и с файлами, только тут массив temp
        read - прочесть байт в текущей позиции и сдвинуть курсор (текущую позицию) вперед
        peek - "подглядеть" байт в текущей позиции без сдвига курсора
        Ответить
        • Не, я не понимаю что конкретно с символом делает peekPastWhitespace или parsePastWhitespace.
          Могу предположить, что peekPastWhitespace проверяет символ на вайтспейсность, readPastWhitespace === peekPastWhitespace. Курсор это позиция или объект какой-то?
          Ответить
          • эти функции тоже доставляют и их можно постить отдельным тредом
            /**
                 * If in xmode peek past whitespace and comments.
                 */
                private int peekPastWhitespace(int ch) {
                    while (ASCII.isSpace(ch) || ch == '#') {
                        while (ASCII.isSpace(ch))
                            ch = temp[++cursor];
                        if (ch == '#') {
                            ch = peekPastLine();
                        }
                    }
                    return ch;
                }
            
                /**
                 * If in xmode parse past whitespace and comments.
                 */
                private int parsePastWhitespace(int ch) {
                    while (ASCII.isSpace(ch) || ch == '#') {
                        while (ASCII.isSpace(ch))
                            ch = temp[cursor++];
                        if (ch == '#')
                            ch = parsePastLine();
                    }
                    return ch;
                }

            честно говоря у меня так руки и чешутся запостить еще говнокода - но голова говорит -знай меру
            Ответить
          • peekPastWhitespace - поглядеть проигнорив вайтспейс
            readPastWhitespace - прочитать проигнорив вайтспейс
            parsePastWhitespace - разобрать, что там вайтеспейс или нет
            Ответить
            • Я че-то не подумал просто что внутри движения с массивом продолжаются так жестко, ступил.
              Ответить
              • бывает. пятницо. 13ое. вечер
                Ответить
                • ...
                  Джейсон. Мачете.
                  Крики. Мясо. Кровь.
                  Быдло дохнет на этой планете.
                  Рак удален. Мир стал чище.
                  Ответить
                  • хайку!
                    Ответить
                    • ну не совсем, я пытался сделать в таком стиле
                      но форма не должна преобладать над содержанием
                      PS в если в последней строке предложения местами поменять звучит лучше, жаль додумал поздно
                      Ответить
                  • *снял шляпу, выдавив скупую мужскую слезу* нам будет его не хватать. земля пухом... к черту! ]:-)
                    Ответить
                  • "Словно Джейсон, выдаю сто трупов за день...
                    ...Словно Джейсон, буду резать вас на части..."(с)

                    Благодарны. Если я стану ракомопухолью, можете меня застрелить.
                    Ответить
                  • Слушай, может я не про тот рак подумал?
                    Ответить
      • вайтспейсы по видимому игнорятся
        Ответить
    • А, и че за праздник?
      Ответить

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