ЙажаСценарий / Говнокод #27888 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
interface ReturnVal {
    something(): void;
}

function run(options: { something?(): void }, val: ReturnVal) {

    const something = options.something ?? val.something;
    something();
    
}

function main()
{
	run ( { something() { print("something"); } }, null );
}

новая кул-фича... аналог ?. но для двух разных данных. если первое не null тогда бери его иначе второе.

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

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

  • а дампик вот - https://pastebin.com/xfb0nA1p я специально компилю без оптимизации иначе там ваще никто ничего не поймет... хотя кому оно надо
    Ответить
  • и результат работы

    C:\temp>C:\dev\TypeScriptCompiler\__build\tsc\bin\tsc.exe --emit=jit --opt --shared-libs=C:\dev\TypeScriptCompiler\__build\tsc\bin\TypeScriptRuntime.dll C:\temp\1.ts 
    something
    Ответить
  • Какое уродливое говнище, а.
    В старом-добром JS десятилетиями существуют тернарник и оператор || без этих значков ??, ?. .?( интерфейсов, говнотипов.

    Для функций там вообще никаких проблем.
    function noop(){}
    function run(f1, f2){
        return (f1 || f2 || noop)();
    }
    
    console.log(run (null, ()=> "kakoi"))   // kakoi
    console.log(run (()=> "bagor"))        //bagor
    console.log(run ())                   // undefined
    Ответить
    • || отличается от ?? тем что || берет любое знаечение "true" это может быть что угодно... где ?? работает только с "nullable"
      Ответить
        • если сделали - значит они знали что || проебывает там где надо ??
          Ответить
          • Очередной синтаксический подсластитель.

            Принципиально он ничего не меняет.

            95% его использования заменяется в любом языке простым isNull (a,b) или более общим coalesce (привет sql!)
            function coalesce(){
                for (var i=0;i<arguments.length;++i){
                    if (null!=arguments[i]) return arguments[i];
                }
            }
            Ответить
  • Ad hominem:
    1) Автор фигачит говнокоды стремительным домкратом. 260 с августа. Не уверен, что он вообще человек.
    2) В некоторых комментариях этих говнокодов есть слово llvm. Nuff said.
    3) Их темы абсолютно разные. Видимо автор гениален во всём сразу.
    Ответить
    • Ad hominem circumstantiatie:
      1) Регион автора славится своими низкоквалифицированными работниками во всех областях. На первый взгляд автор не выбивается из традиции.
      2) Это Govnokod. Если вам надо объяснять, чем он плох как форум то я сразу признаю своё бессилие.
      3) Это, уж простите за прямоту, программист с говнокода. Вы понимаете всю мощь такого комбо?
      Ответить
      • Предположим, у меня есть Groovy udfs, и мне нужно вызвать их в моем сценарии pig.

        Там находятся /home/fs191/TraitementHadoopMDO/src/groovy/:

        Проблема в том, что когда я запускаю скрипт pig, я получаю следующее сообщение об ошибке:

        2019-10-17 17:49:32,257 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: could not instantiate com.test.commons.pig.udf.GroovyClosure with arguments [ChaineZero:chararray,/src/groovy/FormatageDonneeZero.groovy]

        В чем смысл этого, пожалуйста, спасибо
        Ответить
  • А в твоем тупоскрипте можно написать xor linked list?
    Ответить
    • Можно.
      Взять массив (единственно полезная структура данных) и хранить xor-индексов prev/next.
      Ответить
          • Можно в модуле ядра Linux например. Или в контроллерах.
            Ответить
            • На ГК ходить тоже с контроллера?

              >в модуле ядра Linux
              Хуй-ня. Именно поэтому я за «TempleOs».
              Ответить
        • The price for the decrease in memory usage is an increase in code complexity, making maintenance more expensive;
          Ответить
      • Анскильные говноязычки с GC или рефкаунтингом не позволяют нормально реализовать xor linked list. Поэтому я за Си
        Ответить
          • Нет, это хуйня, там ко-ко-косвенная адресация будет, а это оверхедно.
            Ответить
            • Везде ко-ко-косвенная.

              Царь предлагал виртуальную память выкинуть к ебеням, но анскильные выблядки навернули ещё 3 слоя абасракций.
              Ответить
              • > ещё 3 слоя абстракций

                Кстати, видел сколько страничек читается при двойной трансляции адресов (EPT)?

                Вот где косвенная адресация...
                Ответить
                • > видел сколько страничек читается при двойной трансляции адресов (EPT)?

                  Не, не в курсе. Там же вроде есть специализированные инструкции и какие-то hardware блоки?

                  В принципе это я имел ввиду: какая-то скриптуха или йажа (vm) внутри докера на виртуалке в облаке, и в ОС где у каждого процесса виртуальная память.
                  Ответить
                  • > hardware блоки

                    Да тот же TLB, насколько я понимаю. Просто при холодном TLB приходится делать N^2 обращений к памяти, а не 2*N как многие думают...
                    Ответить
                • > Mode Based Execution Control (MBE) is an extension to x86 SLAT implementations first available in Intel Kaby Lake and AMD Zen 2 CPUs.
                  > The extension extends the execute bit in the extended page table (guest page table) into 2 bits - one for user execute, and one for supervisor execute.

                  > MBE was introduced to speed up guest usermode unsigned code execution with kernelmode code integrity enforcement.
                  > Under this configuration, unsigned code pages can be marked as execute under usermode, but must be marked as no-execute under kernelmode.

                  Забавно. Причём это совсем свежее (Kaby Lake and AMD Zen 2 CPUs)
                  Предлагаю для Йаж ещё третий NX-бит сделать, чтобы всякие log4j не исполняли шо попало.
                  Ответить
                  • Инструкцию CLJ чтобы сбросить флаг J и запретить исполнение джавы.
                    Ответить
        • у меня GC отключается через "-nogc". А теперь живи с этим 🙂
          Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

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


    8