[Issue 4579] std.typecons.Tuple syntax unpacking sugar
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Sep 16 19:25:31 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4579
--- Comment #1 from bearophile_hugs at eml.cc 2010-09-16 19:24:57 PDT ---
'auto' too may be supported:
void main() {
(auto fc, auto fa, auto fm) = getTimes("filename");
}
Or even:
void main() {
auto (fc, fa, fm) = getTimes("filename");
}
An unpacking syntax for Tuples is useful to replace the very similar zip() and
lockstep():
import std.algorithm, std.stdio, std.range;
void main() {
foreach (p; zip([1, 2, 3], "abcd"))
writeln(p._0, " ", p.length, " ", p._1);
writeln();
foreach (i, a, b; lockstep([1, 2, 3], "abcd"))
writeln(i, " ", a, " ", b);
}
with a single zip() that may be used for both situations:
import std.algorithm, std.stdio, std.range;
void main() {
foreach (p; zip([1, 2, 3], "abcd"))
writeln(p[0], " ", p[1]);
writeln();
foreach ((a, b); zip([1, 2, 3], "abcd"))
writeln(a, " ", b);
}
As in Python:
for p in zip([1, 2, 3], "abcd"):
print p[0], p[1]
print
for (a, b) in zip([1, 2, 3], "abcd"):
print a, b
(The zip() is a very commonly useful higher order function.)
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list