digitalmars.D.learn - Idea: writeln and file functions that return the data passed to them
- ixid (7/7) Jun 12 2012 Perhaps there is already a way to do this. With the UFCS one
- Dmitry Olshansky (8/14) Jun 12 2012 Problem is ... there might not be string representation of output, it's
- Simen Kjaeraas (9/15) Jun 13 2012 T passAlong( alias F, T )( T args ) {
Perhaps there is already a way to do this. With the UFCS one tends to make elegant chains of statements, it would be useful to have writeln and file functions that can easily be dropped in the middle of such chains without having to alter the lay out of one's program. Rather than returning void it would be nice to have a version of these that will pass along the data that was passed to them.
Jun 12 2012
On 12.06.2012 16:12, ixid wrote:Perhaps there is already a way to do this. With the UFCS one tends to make elegant chains of statements, it would be useful to have writeln and file functions that can easily be dropped in the middle of such chains without having to alter the lay out of one's program.Problem is ... there might not be string representation of output, it's all sent to the device in parts lazily. (e.g. writeln(a, b, c) ) And requiring it to allocate temporary buffer just so you can put it in a cool expression chain... beats me. Rather thanreturning void it would be nice to have a version of these that will pass along the data that was passed to them.-- Dmitry Olshansky
Jun 12 2012
On Tue, 12 Jun 2012 14:12:19 +0200, ixid <nuaccount gmail.com> wrote:Perhaps there is already a way to do this. With the UFCS one tends to make elegant chains of statements, it would be useful to have writeln and file functions that can easily be dropped in the middle of such chains without having to alter the lay out of one's program. Rather than returning void it would be nice to have a version of these that will pass along the data that was passed to them.T passAlong( alias F, T )( T args ) { alias unaryFun!F fn; fn( args ); return args; } Usage: [1,2,3].passAlong!writeln().UFCS(); Happy?
Jun 13 2012