1. C# / Говнокод #9922

    +108

    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
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    string result = Encoding.GetEncoding(CharSet).GetString(resultData);
                //       сам паттерн    \[\[\[\"([^"]*)
    
    
                String commonString = "";
                commonString += @"\";
                commonString += @"[";
                commonString += @"\";
                commonString += @"[";
                commonString += @"\";
                commonString += @"[";
                commonString += @"\";
                commonString += "\"";
                commonString += @"(";
                commonString += "[";
                commonString += "^";
                commonString += "\"";
                commonString += @"]";
                commonString += @"*";
                commonString += @")";
                String pattern = commonString;
    
                Regex reg = new Regex(pattern);
                var mathces = reg.Match(result);
                String stringResult = mathces.ToString().Replace("[[[\"", "");

    Сборка паттерна регулярки, скажите как можно такое покороче собрать

    Запостил: AndrKn, 11 Апреля 2012

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

    • Где здесь шахматы?
      Ответить
    • Либо трололо, либо к компу не пускать.
      Ответить
    • Ну ждем коммент, как сделать все это с помощью LINQ.
      Ответить
    • >var
      Кстати вот пример вроде как удобно расширения шарпа - динамическая типизация - но многие юзают var вместо конкретного типа, даже когда тип известен.
      А внедрен сей var как раз в сочетании с известной технологией linq.
      Ответить
      • я так понимаю, там просто работает вывод типа, сам тип известен на этапе компиляции (т.е. как var в Scala).
        Ответить
        • Да. Но тип там введен для всяких структур для которых явного класса нет - анонимные типы.
          Ленится указать явно, когда четко его знаешь - считаю плохим подходом.
          Ответить
          • Мда... динамика в шарпе определяется ключевым словом dynamic, а при использовании var тип переменной определяется по правой части, без использования var появляется переизбыточность
            Ответить
            • >var тип переменной определяется по правой части
              Спасибо что просветил меня дибила, но об этом сказал еще Роман. Я же говорю, что такой охуенно умный вывод типов конечно удобен, но вводит моду на объявление всего и вся varами.

              >без использования var появляется переизбыточность
              Чего? А недоизбыточность когда появляется?
              И что это получается, что мудаки пишущие
              var i=1;
              var s="Govno";
              var f=1.0;

              вместо
              int i=1;
              String s="Govno";
              float f=1.0;

              заслуживают пощады?
              Ответить
              • Заслуживают пощады, особенно, если там http://govnokod.ru/9931
                Ответить
              • ну, мудакам дай волю, они и не такое понапишут...
                зато можно вместо
                MySuperPuperClass cls=new MySuperPuperClass();

                обойтись
                var cls=new MySuperPuperClass();

                и все понимают, что cls - это MySuperPuperClass, и никак не YourShitClass.
                хотя опять же - никто не заставляет, особенно если придерживаться соглашений по коду и здравого смысла.
                Ответить
                • Только вот если хочется использовать полиморфизмЪ - вместо var должен быть базовый класс.
                  Ответить
              • Ну когда очень большое имя класса да плюс generic, то вар реально удобно, уменьшает объемы кода. А для инт и т.п. нет особой разности, это уже холивар типа windows vs linux.
                Ответить
              • а ещё можно
                const var s = "string"; // LOLобезжиренное сало
                Ответить
              • > И что это получается, что мудаки пишущие
                > var i=1;
                > var s="Govno";
                > var f=1.0;

                Почему мудаки? Что плохого переложить часть работы на компилятор?
                Ответить
                • потому что не влет понятно, какой на самом деле будет тип. вон, для вещественных приходится писать 1.0
                  Ответить
                  • Ну так вообще-то писать
                    float f = 1
                    это говнисто, потому что содержит неявное приведение.
                    Ответить
              • Так и надо писать.
                Ответить
              • http://msdn.microsoft.com/en-us/library/ff926074.aspx
                тут рекомендации.
                А решарпер: http://habrahabr.ru/post/39231/
                предлагает вообще всё превратить в var.
                Ответить
                • Хороший мануал у MS. Жаль немногие читают.
                  И сцылка хорошая.

                  >Микрософт не рекомендует использовать var нигде кроме как в случае анонимных типов.
                  Ну вот именно то о чем я грил вот тут:
                  http://govnokod.ru/9922#comment134860
                  Dictionary<SomePair<Key,Value>,SomeOther Shit<KindOfShit>> - тут я и сам бы напейсал var.

                  P.S> Они и про бездумное использование AsParallel() на сайте написали.
                  Ответить
    • >скажите как можно такое покороче собрать
      Ты не используешь LINQ, потому твой код - говно.
      Без LINQ тут никак не обойтись:
      new Regex(new[]{@"\",@"[", @"\",.. }.AsParallel().Aggregate((s,p) => s+p)).Match(Encoding.GetEncoding(CharSet).GetString(resultData)).ToString().Replace("[[[\"", "");
      Ответить
      • Больше .AsParallel()! Для пущей эффективности нужно вставлять его после каждой второй точки!
        Лучше даже так: .AsParallel().AsParallel().AsParallel(). AsParallel().
        Ответить
        • Блин. Тупанул. После Aggregate тоже нужно было поставить.
          Ответить
        • >Лучше даже так: .AsParallel().AsParallel().AsParallel(). AsParallel().
          Это у тебя оптимизация под 4-х ядерные!
          Ответить
          • Скорее даже под 5-ти ядерные
            Ответить
            • Нечетное количество ядер не по-мужски
              Ответить
              • Пять ядер + гипертрейдинг , получается 10 - уже четное :)
                Ответить
              • Как быть с нулем?
                Ответить
                • Нет ядер - нет проблем.
                  Ответить
                  • Проблемы могут быть с протонами, электронами...
                    Ответить
                • Вернитесь к натуральным числам, позязуста
                  Ответить
                  • In Soviet Russia zero is not a natural number
                    а у тупых американцев - натуральное
                    Ответить
                    • и по закону π = 4
                      Ответить
                    • Гы, а у нас меняется от курса к курсу: в дискретной математике - натуральное, в линейной алгебре - нет :)
                      Даже значек специальный есть для натуральных и ноль: \mathbb{N}_0
                      Ответить
                      • "множество натуральных чисел с нулем".
                        а нуль никогда не было натуральным, пусть тот, кто вам сказал, что нуль натурален, прикусит себе язык.
                        Ответить
                      • >\mathbb{N}_0
                        ℕ₀ ?
                        Ответить
                        • Типа того, ток индекс обычно должен выходить за базовую линию вниз.
                          > Lure Of Chaos, она пожилая и очень добродушная француженка, меня совесть замучает.
                          Ответить
                          • а ее не мучает совесть, что она нуль обзывает натуральным.
                            посему, француженке французский, а не математика.
                            Ответить
                          • > за базовую линию вниз.
                            или вверх, мне такая нотация встречалась чаще.
                            http://upload.wikimedia.org/wikipedia/os/math/9/5/c/95c836ee6d1d7a0b8a468ce0c7d194bd.png
                            http://upload.wikimedia.org/wikipedia/os/math/3/9/b/39b023a04020b4abc37a791add367b3f.png
                            Ответить
                  • Ну я про четнитизм, а не про натурализм.
                    Ответить
    • охуеть:)
      Ответить

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