Яuбy / Говнокод #24717 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
FILE_TYPES_EXTENSIONS.each do |t, e|
      if e.include? extension
        return t
      elsif e.any? {|_e| _e.is_a? Hash}
        if _t = e.reduce({}) { |m, x| m = m.merge(x) if x.is_a?(Hash); m }.find{|_t, _e| _e.include? extension}
          return retrieve_parent ? t : _t.first
        end
      end
    end
    nil

только создатель поймет, насрал и пропал

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

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

    • Писал бы сразу на "PHP", хоть кто-то бы понял.
      Ответить
    • <?php
      function any($array, $condition) {
          return array_reduce($array, function($carry, $item) {return $carry || $condition($item);}, false);
      }
      
      function all($array, $condition) {
          return array_reduce($array, function($carry, $item) {return $carry && $condition($item);}, true);
      }
      
      function find($array, $condition) {
          return array_reduce($array, function($carry, $item) {return $condition($item) ? $item : $carry;}, false);
      }
      
      foreach(FILE_TYPES_EXTENSIONS as $t=>$e) {
        if (strpos($e, $extension) !== false) {
          return $t;
        } else if (any($e, function($x) {return is_array($x);})) {
          $_t = array_reduce($e, function($m, $x) {if (is_array($x)) $m = array_merge($m, $x); return $m;}, Array());
          $_t = find($_t, function($_e) use ($extension) {return strpos($_e, $extension) !== false;});
          if ($_t) {
            return $retrieve_parent ? $t : $_t;
          }
        }
      }
      return null;
      Ответить
        • К сожалению, я не 1024--.
          1024-- перевёл бы на "Javascript".
          Ответить
          • ... если бы вообще перевёл с "Ruby"...

            Вообще на ГК не так много человек использовали в "PHP" функции array_map, array_reduce и т. п. Можно вычислить по этому признаку.
            Ответить
          • — Павел, ну-ка подойди.
            — Да, папа?
            — Ты используешь JS?
            — Нет, папа.
            — Ты мне врёшь?
            — Нет, папа.
            — [] + {}
            — "[object Object]"
            Ответить
        • Нам нужен тред отсоса прыщеблядей.
          Ответить
            • И что там? Треда отсоса прыщеблядей не обнаружил.
              Ответить
        • Не вижу тут ни прыщеблядей, ни отсоса. Я по адресу попал? Это тред отсоса прыщеблядей?
          Ответить
          • Объявляю здесь начало треда отсоса прыщеблядей.
            Ответить
      • Хурозвоз бойсовый питух средний азий ищу бойсових петух Филиппин куплю если бы в Фергана тел ±996551603663
        Ответить
        • Горячее небо,
          Горячий песок.
          Горячие губы,
          Воды бы глоток.

          В горячей пустыне
          Не видно следа.
          Скажи, караванщик,
          Когда же вода.

          Учкудук — три колодца,
          Защити, защити нас от солнца.
          Ты в пустыне спасительный круг,
          Учкудук!

          Вот дерево — жизни
          Таинственный страж.
          А может быть, это
          Лишь сон и мираж.

          А может быть, это
          Усталости бред,
          И нет Учкудука —
          Спасения нет.

          Учкудук — три колодца,
          Защити, защити нас от солнца.
          Ты в пустыне спасительный круг,
          Учкудук!

          Любой в Учкудуке
          Расскажет старик,
          Как город-красавец
          В пустыне возник.

          Как в синее небо
          Взметнулись дома,
          И удивилась
          Природа сама.

          Учкудук — три колодца,
          Пусть всегда над тобой светит солнце.
          Ты в пустыне спасительный круг,
          Учкудук!
          Ответить
        • Ответил на все вопросы: «А почему Вы спрашиваете?»
          Ответить
          • 19. В указанном ниже коде закралась ошибка, приводящая к неверному результату. Также, сам код явно нуждается в улучшении 🙂
            Предложите, пожалуйста, исправленный и улушенный вариант этого кода.

            $maxValue = 10;
            function isUserBan($arr) {
            	global $maxValue;
            	$sum = 0;
            	for ($i = 0; $i < count($arr); $i++) {
            		$sum += $arr[$i];
            	}
            
            	if ($sum >= $maxValue) {
            		return true;
            	}
            	else {
            		return false;
            	}
            }
            
            $users = array(
            	'user1' => array(1, 4.1, 3.3, 1.12),
            	'user2' => array(2, 4.1, 8, 0.2),
            	'user3' => array(2, 4.2, 9, 12),
            );
            
            $maxValue += 4.3;
            foreach ($users as $k => $v) {
            	echo $k . ' is ' . (isUserBan($v) ? 'banned' : 'not banned') . '<br>';
            }
            Ответить
          • Хотят, чтобы кто-то за них решил сложные задачи нахаляву под видом тестового задания.
            Ответить
      • Почему ты пишешь в рандомных тредах?
        Ответить
  • Кстати, этот код демонстрирует ущербность динамической типизации: куча лишних проверок. При статической типизации мы бы сразу знали, что имеем дело с массивом и нам бы не пришлось вызывать is_a.
    Ответить
        • Пога́дка — спрессованные непереваренные остатки пищи животного происхождения, например кости, шерсть, перья, хитин насекомых и т. п., отрыгиваемые некоторыми хищными птицами в виде округлого комка.
          Ответить
    • ну так

      любители скриптовых языков сначала отказываются от проверок
      а потом сами их делают
      сосут же
      Ответить

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

Где здесь C++, guest?!

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


    8