print("\nResult of coercion to string:");
dumpStringRepresentation();
print("\nString with an index value:");
dumpStringRepresentation((12345).toString());
print("\ns = Simple short atom:"); var s = "xxxxxxxx";
dumpStringRepresentation(s);
// Simple non-atom flat.
print("\ns + s: Non-atom flat:"); var s2 = s + s;
dumpStringRepresentation(s2);
print("\nNon-Latin1 flat:"); var j = "渋谷区";
dumpStringRepresentation(j);
print("\nt = Non-inline atom:"); var t = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // 31 characters
dumpStringRepresentation(t);
print("\nr1 = t + s: Simple rope:"); var r1 = t + s;
dumpStringRepresentation(r1);
// Flatten that rope, and re-examine the representations of both the result and // its former leaves. This should be an extensible string.
print("\nr1, former rope after flattening, now extensible:");
r1.match(/x/);
dumpStringRepresentation(r1);
print("\nt, s: Original leaves, representation unchanged:");
dumpStringRepresentation(t);
dumpStringRepresentation(s);
// Create a new rope with the extensible string as its left child.
print("\nr2 = r1 + s: Rope with extensible leftmost child:"); var r2 = r1 + s;
dumpStringRepresentation(r2);
// Flatten that; this should re-use the extensible string's buffer.
print("\nr2: flattened, stole r1's buffer:");
r2.match(/x/);
dumpStringRepresentation(r2);
print("\nr1: mutated into a dependent string:");
dumpStringRepresentation(r1);
print("\nr3 = r2 + s: a new rope with an extensible leftmost child:");
r3 = r2 + s;
r3.match(/x/);
dumpStringRepresentation(r3);
print("\nr2: now mutated into a dependent string");
dumpStringRepresentation(r2);
print("\nr1: now a doubly-dependent string, because of r2's mutation:");
dumpStringRepresentation(r1);
print("\nt, s: Original leaves, representation unchanged:");
dumpStringRepresentation(t);
dumpStringRepresentation(s);
// Extensible string, created directly.
print("\nExtensible:"); var e = newString("一二三四五六七八九*一二三四五六七八", { capacity: 80 });
dumpStringRepresentation(e);
// Reuse an extensible string's storage when flattening a rope whose DAG contains // the extensible string multiple times.
print("\nFlattened dag with shared leaves:"); var e_flat = newRope(e, newRope(e, "!"));
ensureLinearString(e_flat);
dumpStringRepresentation(e_flat);
assertEq(e_flat.charAt(e.length), e_flat.charAt(0));
for (var str of representativeStringArray())
dumpStringRepresentation(str);
Messung V0.5
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.