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(); === code end === Each function returns again the instance that was returned by StdIO::stdOutPrinter(). The whole pattern is called method chaining or fluent interface: - https://en.wikipedia.org/wiki/Method_chaining - https://en.wikipedia.org/wiki/Fluent_interface Regards, Sven _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel