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

    +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
    <?php
    define('+1', 16384);
    ${'*.'} = function ($a, $b) {
        return floor($a * $b / constant('+1'));
    };
    
    ${'/.'} = function ($a, $b) {
        return floor($a * constant('+1') / $b);
    };
    
    echo ${'/.'}(1, 1) . "\n";
    echo ${'/.'}(1, 2) . "\n";
    echo ${'/.'}(7, 34) + ${'/.'}(23, 99) . "\n";

    Где-то за кулисами прячется факт, что в "PHP" в качестве имён констант и переменных можно использовать произвольные строки.

    https://ideone.com/3MCnCW

    Запостил: 4EPTA_KyJIuC, 19 Октября 2018

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

    • Напомни, почему ты за «PHP»?
      Ответить
    • Python:
      globals()["}{y|/|"] = "хуй"

      Lua:
      _G["n|/|3|)4"] = "пизда"

      TCL:
      set "нельзя юзать скобке" ":("
      # а получать значение так:
      puts ${нельзя юзать скобке}
      
      # кстате:
      set yx s
      put$yx $yx
      Ответить
      • А нет можно, но не все:
        set "можно (круглые)" да
        set {можно [квадратные]} "но только внутри фигурныхх"
        set {можно {фигурные}} {но хз как получить значение, ибо ${можно {фигурные}} → can't read "можно {фигурные"}
        set "но можно только левую {" да
        puts {Спасибо, я кончел.}
        Ответить
      • Ну а про Форт я вообще молчу, там можно любые непробельные символы.
        Ответить
    • ${'+1'} = 16384; # с "use constant" не получается :(
      
      ${'*.'} = sub {
          my ($a, $b) = @_;
          return int($a * $b / ${'+1'});
      };
      
      ${'/.'} = sub {
          my ($a, $b) = @_;
          return int($a * ${'+1'} / $b);
      };
      
      print &${'/.'}(1, 1) . "\n";
      print &${'/.'}(1, 2) . "\n";
      print &${'/.'}(7, 34) + &${'/.'}(23, 99) . "\n";
      Ответить
      • В чём смысл этой хуеты?
        Ответить
        • Ты уточни про что ты говоришь: про коммент, про Perl5, про возможность использовать произвольные строки для имён переменных, про числа с фиксированной точкой, про 666_N33D135 или про что-то ещё?
          Ответить
          • Нидлес, сколько языков ты знаешь?
            Ответить
            • Понятия не имею, смотря насколько хорошо. Не считая эзотерических и диалектов, лучше всего Питонию, жопаскрипт, PHP, Си, Паскаль, ассемблер x86 16 и 32 бита, Forth, J, TCL, Lua, всякие бейсики –— получается где-то 10 + куча ЯПов, которые я знаю не больше базового синтаксиса + куча ЯПов на уровне "Hello, World!".
              Ответить
              • вот что заставило тебя изучить форт?

                В твоем списке остро не хватает рубей и перла (ну ты его знаешь судя по всему) и еще седа с авком
                Ответить
                • > что заставило тебя изучить форт?
                  Идея форта классная —– простой базовый синтаксис (почти что отсутствие его:)) и почти полный контроль над интерпретацией исходного текста и над компиляцией.

                  > не хватает рубей и перла
                  ну какой-нибудь простейший скрипт я на них могу написать

                  > еще седа с авком
                  awk я знаю (просто сразу всё не вспомнишь), на sed могу текст заменять (и делать что-то большее на нём -– мазохизм, тем более когда есть awk)
                  Ответить
                  • >>ну какой-нибудь простейший скрипт я на них могу написать

                    НЕТ ЭТА ХУЙНЯ
                    ПОЧИТАЙ http://ruby-doc.com/docs/ProgrammingRuby/ ПРАПРЕШСЯ СТРАШНА

                    РУБИ ЯЗЫК ДЛЯ ЁБНУТЫХ
                    Ответить
            • Блядь!!! Оказываеццо его ник читается на "нидлес"? Мне теперь с этим жить.
              Ответить
        • АБСУЖДАЮТ ТВАЮ МАМУ
          Ответить
    • Говно говном говно ругает,
      Не вылезая из говна.
      Ответить

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