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

    +118

    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
    static Func<object, object> get;
    
    static void Add(object id, object data)
    {
        if (get == null)
        {
            get = i =>
            {
                if (i.Equals(id)) return data;
                else return null;
            };
        }
        else
        {
            var _ = get;
            get = i =>
            {
                if (i.Equals(id)) return data;
                else return _(i);
            };
        }
    }

    Запостил: psina-from-ua, 21 Ноября 2010

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

    • дибилизм
      Ответить
    • скальпель (лямбды) в руках у маньяка
      Ответить
    • интересно, какая задача перед автором стояла?
      Ответить
      • Задачи никакой не стояло.
        Ответить
        • ну что-то ведь ему надо было решить этим методом. не просто же так с утра проснулся, и "а не написать ли мне в а-ля функциональном стиле список пар ключ-значение" )))
          если я правильно понял задумку автора
          Ответить
          • Задумку правильно угадали, А вот насчет утра Вы ошиблись. Дело было вечером.
            Ответить
    • не врубился сразу в задачу, маниакальной шизофрении в коде нет )))
      извиняюсь.
      Ответить
    • А такой код решил бы задачу?
      static void Add(object id, object data)
      {
          var _ = get;
          get = i =>
          {
              if (i.Equals(id)) return data;
              else if (_ != null) return _(i);
              else return null;
          };
      }
      Ответить

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