Ce face StringBuffer.writeAll
writeAll(lista, separator) scrie fiecare element din colecție, cu separatorul între ele (nu și după ultimul). Fără separator, elementele sunt lipite unul de altul. Este echivalentul lui join, dar scrie direct în buffer.
writeCharCode(cod) adaugă caracterul cu codul Unicode dat: writeCharCode(65) adaugă A. Este util când lucrezi cu coduri de caractere (vezi codeUnitAt) și vrei să eviți crearea unui text pentru fiecare caracter.
Parametri
| Parametru | Descriere |
|---|---|
objects |
Colecția de valori. |
separator |
Textul pus între elemente (implicit gol). |
charCode |
Codul Unicode al caracterului. |
Ce returnează
Nimic (void).
Exemple
Exemplul 1: Liste cu separator
void main() {
var sb = StringBuffer();
sb.write('Orașe: ');
sb.writeAll(['Iași', 'Cluj', 'Brașov'], ', ');
sb.writeln();
sb.write('Note: ');
sb.writeAll([9, 7, 10], ' | ');
sb.writeln();
sb.writeAll(['a', 'b', 'c']);
print(sb);
}
Rezultat
Orașe: Iași, Cluj, Brașov
Note: 9 | 7 | 10
abc
Exemplul 2: Inversarea literelor mari și mici cu writeCharCode
String inverseaza(String s) {
var sb = StringBuffer();
for (var c in s.codeUnits) {
if (c >= 65 && c <= 90) {
sb.writeCharCode(c + 32);
} else if (c >= 97 && c <= 122) {
sb.writeCharCode(c - 32);
} else {
sb.writeCharCode(c);
}
}
return sb.toString();
}
void main() {
print(inverseaza('Ana Are 3 Mere'));
var alfabet = StringBuffer();
for (var c = 65; c < 65 + 6; c++) {
alfabet.writeCharCode(c);
}
print(alfabet);
}
Rezultat
aNA aRE 3 mERE
ABCDEF
Greșeli frecvente
- Dai separatorul ca primul argument:
writeAll(', ', lista). Ordinea este colecția, apoi separatorul.
Comenzi înrudite
StringBuffer.write: Adaugă o valoare la sfârșitul bufferului (write) sau o valoare urmată de rând nou (writeln).StringBuffer: Construiește un text din multe bucăți, eficient; la final toString() dă textul, iar clear() îl golește.Iterable.join: Lipește elementele într-un singur text, cu un separator între ele.String.fromCharCode: Construiește un text dintr-un cod de caracter (fromCharCode) sau dintr-o listă de coduri (fromCharCodes).