How to assign the return value of a CIS
peter.levart at marand.si
Fri Jan 8 04:55:51 PST 2010
On Friday 08 January 2010 13:13:45 Gernot Neppert wrote:
> I'm wondering about how to assign the return value of a
> ControlInvocationStatement to a variable.
> Or can the return value of a CIS never be used if the special syntax
> for such statements is used?
> Given the declaration
> <T,C extends Collection<? extends T>> C apply(C source, #void(T) f);
> Can we invoke it like this:
> List<T> target = apply(String s: Arrays.asList("One", "Two", "Three")
> // do something with "s"
> In particular: do we now need a semicolon and the end of the assignment?
No, the syntax is specified as a statement - not an expression. Because it looks like a statement it is a statement. If it was an expression then it might confuse people and possibly compiler too. So unfortunatelly no return values from this syntax.
More information about the closures-dev