2 ms·
Ruby is an "everything is an expression" language and it has return, and idiomatically it's used identically to Rust: for early returns. It is of course not st
by steveklabnik 1y ago
Ruby is an "everything is an expression" language and it has return, and idiomatically it's used identically to Rust: for early returns.
It is of course not statically typed.
- saurik 1y agoRuby is complex as it does the thing I said: 1) return is bottom, and so you can't have return "statement"--most people call it a statement even though it is a "void value expression"... but, like, once the type of an expression becomes sufficiently encoded in the syntax, how is it not a statement?--in a context where an expression would go; and 2) it isn't even the same thing as what Rust is doing, as it is a non-local construct that is effectively throwing an internal form of exception, allowing you to "return" from a function far up the call stack, and so it's rules are a bit more regular and useful: Ruby is coming at the notion of almost everything is an expression so as to allow expressions that look like statements, and that's a very different motivation than the syntax we are seeing here in Rust.