20 Oct 2011 14:12
easy-when-binds-return
People often try to use return inside when blocks. Currently, this just
produces confusing "Ejector must be enabled" errors.
How about requiring the use of "return" to return a value from a when block?
There are a few places where this would be useful:
- Often you will move a whole block in to or out of a when() block. It's
useful if you don't have to change all return lines when you do this.
- People sometimes don't notice that the value of the last expression is
used, and put something after it.
e.g. they change
return when (foo) -> {
foo.invoke()
}
to
return when (foo) -> {
foo.invoke()
traceln("here")
}
and then wonder why they're getting null pointer exceptions elsewhere.
- You can accidentally return a value, when all you intended was to tell
the caller when you were done.
(Continue reading)
RSS Feed