Hacker News new | ask | show | jobs
by dekhn 1339 days ago
Oh, sorry, I didn't paste the right code.

On my machine I used this code:

  package main
  import "fmt"
  func below(n uint64 ) {
      for n>0 {
      fmt.Println(n-1)
          n--
      }
  }


  func main() {
      below(10);
      below(0);
  }
The actual code I put into the bugfix site was:

  func below(n uint64, to chan uint64) {
          for n>0 {
              to <- n-1
              n--
          }
          close(to)
      }
but when writing this comment I went back and didn't modify the for loop to be a while.
1 comments

The above code is correct, and of course it is accepted.
Why does it say "What happens at 0" when you omit the decrement?
When your code is wrong, the server gives you a clue hinting at what's wrong in the original code.

It doesn't know what's wrong in the code you submitted... it is not understanding deeply what's wrong with your code. It's not some huge multi-terabyte language model analyzing arbitrary code, or whatever.

It just knows your code is wrong and gives you a clue so you can try again.

If you omit the decrement, it's an infinite loop for n>1, presumably, you are detecting that?
The server is checking the output of the function.

Here is an example of what's running behind the scenes, to help you understand:

https://bugfix-66.com/contribute

The above code is what's being used for Bug #1:

https://bugfix-66.com/a6cb1e062ae0fdc47b43ec489aa40a958db728...

Is that pretty clear?