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

0

  1. 1
  2. 2
var lol = (timeout) => setTimeout(lol, setTimeout(console.log, timeout, 'kek'), timeout);
lol();

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

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

  • Нужны специалисты. Это аналог
    :(){ :|:& };:

    на жабьем скрипте?
    Ответить
    • Насколько я пони, оно будет через неодинаковые промежутки времени (айди таймаута как миллисекунды) писать кек
      Ответить
    • Это бесконечный цикл. Меня больше интересует, как это работает

      var lol = (timeout) => setTimeout(lol

      lol же еще не определен. Или там как в питоне позднее связывание?
      Ответить
      • Позднее
        var f = () => x;
        f(); // error
        var x = 1;
        f(); // 1

        Но тут вообще var lol уже определено. Т.е. сначала определяется var lol, затем строится выражение, зависящее от lol, затем оно присваивается самой переменной lol.
        В статическом питухе была бы переменная типа Function/FuncPtr/Delegate/Block, которая тоже бы сначала определилась, а потом заполнилась выражением, которое вполне может на неё ссылаться и знать её тип.

        https://ideone.com/R1KVv6
        #include <iostream>
        #include <functional>
        
        int main() {
        	std::function<int(int)> fac = [&fac](int x){ return x > 0 ? x * fac(x-1) : 1; };
        	std::cout << fac(5) << std::endl;
        	return 0;
        }

        Единственное, тут пришлось задать тип fac явно и захватывать по ссылке.
        Ответить
        • > Но тут вообще var lol уже определено.
          Ну хз как. В жаве матерится

          int a = a + 1;

          Exception in thread "main" java.lang.Error: Unresolved compilation problem:
          The local variable a may not have been initialized
          Ответить
          • В int a = a + 1; значение "a" ещё не готово, хотя сама переменная уже есть. В случае fac идёт доступ по ссылке, в случае lol - тоже примерно по ссылке.

            > Exception
            То есть успешно скомпилировалось.
            Вот если правая часть бы как-то использовала ссылку, может и сработало бы без падений.
            Ответить
  • Я достаточно долгое время живу за рубежом, поэтому как-то проще уделять время своим шалостям. Никто особо не третирует за вопрос бисексуальности, хотя и в самой моей бисексуальности есть тонкости.
    Ответить

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

Помни, guest, за тобой могут следить!

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


    8