| |
| Posted by pascal111 in reply to ag0aep6g | PermalinkReply |
|
pascal111
Posted in reply to ag0aep6g
| On Monday, 1 August 2022 at 14:46:33 UTC, ag0aep6g wrote:
> On Monday, 1 August 2022 at 14:39:17 UTC, pascal111 wrote:
> On Monday, 1 August 2022 at 14:34:45 UTC, ag0aep6g wrote:
[...]
> a => a > 0 is not a statement. It's an expression.
But it is still a "function", and functions make statements!! It's not a normal expression.
It's a normal expression.
foo => bar is an expression that doesn't involve any statement. So there's no semicolon.
(foo) { return bar; } does contain a return statement. As you expect, there's a semicolon. But it's still an expression like any other.
If foo => bar == (foo) { return bar; } , then foo => bar is a function. "=>" is not an operator, it's a special symbol for lambda "function".
If A == B, so A's types is the same of B's type. How can it be withstanding foo => bar == foo => bar == (foo) { return bar; } and foo => bar is an expression and the other is a function?!! no sense.
|