• ChrislyBear@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I disagree. It’s a while loop, because a for-loop is finite, so you can’t count to infinity with it.

    • Pitri
      link
      fedilink
      arrow-up
      10
      ·
      1 year ago

      there is no reason for a (non-foreach) for loop to be any more or less finite than a while loop.

      for (a; b; c)
      {
        d;
      }
      

      is just syntactic sugar for

      {
        a;
        while (b)
        {
          d;
          c;
        }
      }
      

      in most or all languages with c-like syntax.

    • isildun@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      There’s nothing special about a generic for loop (at least in C-like languages). There’s no reason you couldn’t do something like for (i = 0; true; i++) to make it infinite. Some languages even support an infinite list generator syntax like for i in [0..] (e.g. it lazily generates 0, then 1, then 2, etc. on each iteration) so you can use a for-each style loop to iterate infinitely.

      Now, whether or not you should do such things is another question entirely. I won’t pretend there aren’t any instances where it’s useful, but most of the time you’re better off with a different structure.

    • Kempeth@feddit.de
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      I wanna see how you get a while loop to actually go to infinity. I’ll wait…

      on second thought, no I won’t.