1. PHP / Говнокод #25168

    +1

    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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    <?php
    
    function array_rot(&$butterbrot) {
        $rosenrot = array_shift($butterbrot);
        array_push($butterbrot, $rosenrot);
    }
    
    function mutate($hydra, $head) {
        if (count($hydra) < 1) {
            yield [$head];
        }
        foreach($hydra as $branch) {
          $branch[] = $head;
          for ($i = 0; $i < count($branch); ++$i) {
            array_rot($branch);
            yield $branch;
          }
        }
    }
    
    class YOBAMaster {
        private $data = [];    
        public function __get($name) {
            $tmp = [];
            foreach (mutate($this->data, $name) as $variant) {
                $tmp[] = $variant;
            }
            $this->data = $tmp;
            return $this;
        }
        public function say() {
            foreach ($this->data as $item) {
                echo implode(' ', $item) . PHP_EOL;
            }
            $this->data = [];
        }
    }
    
    $master = new YOBAmaster();
    
    $master->ALLO->YOBA->ETO->TI->say();
    
    $master->YOBI->NET->DOMA->say();

    https://ideone.com/aoZ9PX

    Запостил: YOBAMaster, 08 Декабря 2018

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

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