Am 22.08.2017 13:15 schrieb "Michael Van Canneyt" <mich...@freepascal.org>: > > > > On Tue, 22 Aug 2017, Thaddy de Koning wrote: > >>> On 21.08.2017 13:22, Michael Van Canneyt wrote: >>>> >>>> >>>> >>>> On Mon, 21 Aug 2017, Benito van der Zander wrote: >>>> >>>>> Hi, >>>>> >>>>>> This pattern is not inherently efficient. Why should it be ? >>>>> >>>>> >>>>> >>>>> It is not efficient, because of the pointless instruction! >>>> >>>> >>>> I am not speaking of the current FPC implementation. It may well be that >>>> the >>>> code is not most optimal. >>>> >>>> I am asking, why do you think *this pattern* (of always returning self) >>>> should be inherently more efficient ? >>> >>> >>> The pattern definitely has its uses. E.g. in the user space of our >>> operating system at work we have a StdOutPrinter class that is used like >>> this: >>> >>> === code begin === >>> >>> StdIO::stdOutPrinter()->out("Helllo World ")->out(42)->out(" >>> ")->hex()->out(42)->line(); > > > Call me old-fashioned, but I much prefer > > With StdIO::stdOutPrinter() do > begin > out("Helllo World "); > out(42); > out(""); > hex(); > out(42); > line(); > end; > > I see no point or gain in the "fluent" code.
First C++ has no with-statement and second I definitely prefer my output to be on one line. :) Also in other cases fluent interfaces are rather nice to have. Though they also don't force you to be used in that way :) (at least if they really only return Self/This). Regards, Sven
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel