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