Index: sdk/lib/io/io_sink.dart |
diff --git a/sdk/lib/io/io_sink.dart b/sdk/lib/io/io_sink.dart |
index 7c564fae6b7f5df6a76d6c53330f2c1fdad8533c..71426da8f678ad427ff403e791961412241dfe97 100644 |
--- a/sdk/lib/io/io_sink.dart |
+++ b/sdk/lib/io/io_sink.dart |
@@ -94,8 +94,20 @@ class _IOSinkImpl<T> implements IOSink<T> { |
writeBytes(_encodeString(string, _encoding)); |
} |
- void writeAll(Iterable objects) { |
- for (Object obj in objects) write(obj); |
+ void writeAll(Iterable objects, [String separator = ""]) { |
+ Iterator iterator = objects.iterator; |
+ if (!iterator.moveNext()) return; |
+ if (separator == "") { |
+ do { |
+ write(iterator.current); |
+ } while (iterator.moveNext()); |
+ } else { |
+ write(iterator.current); |
+ while (iterator.moveNext()) { |
+ write(separator); |
+ write(iterator.current); |
+ } |
+ } |
} |
void writeln([Object obj = ""]) { |