@style rules: Then change your style rules to allow single line single
statement blocks, do not change the language, no ?-)
-------- Ursprüngliche Nachricht --------Von: Cédric Champeau
<[email protected]> Datum: 20.03.18 12:23 (GMT+01:00) An:
[email protected] Betreff: Re: [RFE] Methods as expressions
Again that's a declaration of intent (if you put apart the fact that you can
have style rules that force you to put the brackets on new lines).
When I write:
double surface(double x, double y) = x * y
It's very clear what the intent of this is. It's an expression, a _function_.
On the other hand, { ... } declares a block, that could represent an
expression, or a statement, or a list of statements, one of them returning an
expression. I like the declaration of intent.
2018-03-20 12:20 GMT+01:00 mg <[email protected]>:
Am having a migraine right now so hard to concentrate / think straight but it
seems all that syntax does is getting rid of a single character ?
Integer truth() { 42 }
could then be written as
Integer truth() = 42
or
String hello(String name) { "Hello $name" }
String hello(String name) = Hello $name"
(why did you use a return keyword in your sample ?)
I dont see an improvement in readability here - the main "advantage" is that
curly braces are annoying to input on non-US keyboard layouts ;-)
mg
-------- Ursprüngliche Nachricht --------Von: Cédric Champeau
<[email protected]> Datum: 20.03.18 11:41 (GMT+01:00) An:
[email protected] Betreff: [RFE] Methods as expressions
Hi,
One of the Kotlin features I really like is the short-hand notation for simple
expression methods:
class Foo {
fun truth(): Integer = 42
}
For example, in Groovy, you write:
@Controller("/") class HelloController {
@Get("/hello/{name}")
String hello(String name) {
return "Hello $name"
}
}
but we could write:
@Controller("/")
class HelloController {
@Get("/hello/{name}")
String hello(String name) = "Hello $name"
}
It's more concise and makes the "functional style" more readable. Is this
something Groovy users would appreciate?