Mailinglisten-Archive |
On Wed, 23 Aug 2000, Hartmut Holzgraefe wrote: > Ulf Wendel wrote: > > > Man braucht kein printf. Man schreibt einfach "echo > > > sprintf(..)". Oder im Falle von fprintf "fwrite($stream, > > > sprintf(..))". > > > > Sascha, jetzt wirst Du zum Haarspalter ;-) > > > > Natürlich kann man das auch noch auf ein sprintf() runterbrechen. > > Aber ein printf() benötige ich jedoch ungleich öfter als ein > > fprintf(), entsprechend macht es Sinn dieses einzubauen. Bei dem > > fprintf() kann man sich schon eher streiten, ob es denn wirklich > > notwendig. > > bzgl. fprintf(): aus Effizienzgründen kann es vernünftiger sein, das > Ausgabeergebnis sofort auf einen Ausgabestream zu schreiben statt > erst zwischendurch alles in einen String zu packen den man > anschließend nicht mehr braucht Das gleiche würde ein C Implementation machen, denn bevor auf den Stream geschrieben werden kann, muß das Ergebnis vorliegen. Du könntest natürlich jetzt anführen, daß man eine sprintf-ähnliche Funktion benutzen könnte, die anstatt auf einem Buffer zu operieren, die Ergebnisse gleich in den Stream schickt. Das würde bedeuten, daß man den ganzen formatted_print Code duplizieren und modifizieren müßte. Nur dann hättest du den Vorteil, den du oben als Argument anführst. > außerdem würde es die Übernahme von bestehendem C-Code vereinfachen > (es soll hier ja Leute geben, die mehrsprachig aufgewachsen sind :) Es soll auch Leute geben, die mit sed umgehen können :) - Sascha
php::bar PHP Wiki - Listenarchive