Hacker News new | ask | show | jobs
by oezi 250 days ago
You are right on return (use next in a block), but break uses block scope.
1 comments

Maybe I explained it a bit imprecise. I was trying to explain the following behavior:

    def foo
      p 1
      yield
      p 2
    end

    foo { break }
This only prints "1" because the break stops the execution of the invoked method (foo).
WAT? I'm a 12+ years Ruby developer and I didn't know this.