`sprintf` in Javascript

Schon tausendmal gemacht, aber ich konnte es mir nicht verkneifen meine eigene unvollständige Javascript sprintf Implementierung zu schreiben:

[viewcode source=“sprintf.js“ link=“yes“ scroll=“yes“]

Unterstützt werden die folgenden Formate:

%o : numerischer Wert, oktal, Format: 0…
%x : numerischer Wert, hexadezimal, Format: 0x…
%b : numerischer Wert, binär, Format: 0b…
%d : numerischer Wert dezimal
%s : „normale“ Zeichenkette

Prozentzeichen können durch %% dargestellt werden.

Beispiele:

sprintf ("%s, %o, %x, %b", 17, 17, 17, 17)

=> 17, 021, 0x11, 0b10001

sprintf ("Alles Gute zum %d. Geburtstag, %s %s!", 88, "Frau", "Schmitz")

=> Alles Gute zum 88. Geburtstag, Frau Schmitz!

Außerdem wird die eigebaute Javascript Klasse String um die Methode, fmt ergänzt. Dies erlaubt, dass Zeichenketten unmittelbar als Formatstrings verwendet werden können:

"%d.) %s".fmt(1, "an erster Stelle...")

=> 1.) an erster Stelle…

Kommentieren ist momentan nicht möglich.