1. Ruby / Говнокод #24717

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 04 Сентября 2018

    Комментарии (28) 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--.
            1024-- перевёл бы на "Javascript".
            Ответить
            • — Павел, ну-ка подойди.
              — Да, папа?
              — Ты используешь JS?
              — Нет, папа.
              — Ты мне врёшь?
              — Нет, папа.
              — [] + {}
              — "[object Object]"
              Ответить
            • ... если бы вообще перевёл с "Ruby"...

              Вообще на ГК не так много человек использовали в "PHP" функции array_map, array_reduce и т. п. Можно вычислить по этому признаку.
              Ответить
      • https://pikabu.ru/story/roma_si_vlkatsa_som_sdeyy_ky_klvxbot_gok a_se_dedy_kredok_m_sdeyy_ky_k_ut_im_6133 217

        > Мы расширяемся. Хотим делать больше и быстрее. Решать проблемы пользователей, делать качественный продукт и сервис. И если вы backend-разработчик и знаете "PHP", то вас-то нам и не хватает
        Ответить
        • https://pikabu.ru/story/pikabu_ishchet_backendrazrabotchika_6133 217
          Ответить
          • Ответил на все вопросы: «А почему Вы спрашиваете?»
            Ответить
          • https://pikabu.ru/page/interview/backend/
            Ответить
            • Хотят, чтобы кто-то за них решил сложные задачи нахаляву под видом тестового задания.
              Ответить
            • 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>';
              }
              Ответить
    • bundler install matz
      matz.trasnlate (govnokod)
      Ответить
    • Кстати, этот код демонстрирует ущербность динамической типизации: куча лишних проверок. При статической типизации мы бы сразу знали, что имеем дело с массивом и нам бы не пришлось вызывать is_a.
      Ответить
      • Демонической типизации.
        Ответить
        • Иди на хуй, погадок ебучий.
          Ответить
          • Пога́дка — спрессованные непереваренные остатки пищи животного происхождения, например кости, шерсть, перья, хитин насекомых и т. п., отрыгиваемые некоторыми хищными птицами в виде округлого комка.
            Ответить
          • Да пошёл ты нахуй!
            Ответить

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