Multiple return values...
Simen Kjærås
simen.kjaras at gmail.com
Wed Mar 14 13:00:07 PDT 2012
On Wed, 14 Mar 2012 20:02:50 +0100, Ary Manzana <ary at esperanto.org.ar>
wrote:
> Here's what you can do in Ruby:
>
> a = 1
> b = 2
>
> # Swap the contents
> a, b = b, a
>
> Can you do something like that with templates in D, with a nice syntax?
template to(T...) {
alias T to;
}
auto from(T...)(T t) {
struct Result { T t; alias t this; }
return Result( t );
}
void main( ) {
int a = 3;
int b = 4;
to!(a, b) = from(b, a);
assert( a == 4 );
assert( b == 3 );
}
More information about the Digitalmars-d
mailing list