Thread overview | |||||
---|---|---|---|---|---|
|
June 12, 2012 Idea: writeln and file functions that return the data passed to them | ||||
---|---|---|---|---|
| ||||
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. |
June 12, 2012 Re: Idea: writeln and file functions that return the data passed to them | ||||
---|---|---|---|---|
| ||||
Posted in reply to ixid | 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 than > returning void it would be nice to have a version of these that will > pass along the data that was passed to them. -- Dmitry Olshansky |
June 14, 2012 Re: Idea: writeln and file functions that return the data passed to them | ||||
---|---|---|---|---|
| ||||
Posted in reply to ixid | 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? |
Copyright © 1999-2021 by the D Language Foundation