www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - string version of array

reply Tony <tonytdominguez aol.com> writes:
Is there an easy way to get the string representation of an 
array, as would be printed by writeln(), but captured in a string?
Nov 13
parent reply rikki cattermole <rikki cattermole.co.nz> writes:
On 14/11/2017 7:54 AM, Tony wrote:
 Is there an easy way to get the string representation of an array, as 
 would be printed by writeln(), but captured in a string?
struct Foo { int x; } void main() { Foo[] data = [Foo(1), Foo(2), Foo(3)]; import std.conv : text; import std.stdio; writeln(data.text); } --- [Foo(1), Foo(2), Foo(3)]
Nov 13
next sibling parent reply Andrea Fontana <nospam example.com> writes:
On Tuesday, 14 November 2017 at 07:56:06 UTC, rikki cattermole 
wrote:
 On 14/11/2017 7:54 AM, Tony wrote:
 Is there an easy way to get the string representation of an 
 array, as would be printed by writeln(), but captured in a 
 string?
struct Foo { int x; } void main() { Foo[] data = [Foo(1), Foo(2), Foo(3)]; import std.conv : text; import std.stdio; writeln(data.text); } --- [Foo(1), Foo(2), Foo(3)]
Why not import std.conv : to; writeln(data.to!string); ?
Nov 14
parent rikki cattermole <rikki cattermole.co.nz> writes:
On 14/11/2017 8:16 AM, Andrea Fontana wrote:
 On Tuesday, 14 November 2017 at 07:56:06 UTC, rikki cattermole wrote:
 On 14/11/2017 7:54 AM, Tony wrote:
 Is there an easy way to get the string representation of an array, as 
 would be printed by writeln(), but captured in a string?
struct Foo {     int x; } void main() {     Foo[] data = [Foo(1), Foo(2), Foo(3)];     import std.conv : text;     import std.stdio;     writeln(data.text); } --- [Foo(1), Foo(2), Foo(3)]
Why not import std.conv : to; writeln(data.to!string); ?
.text is essentially short hand, that's all. I use it as it is more descriptive as to my intention.
Nov 14
prev sibling parent reply Tony <tonytdominguez aol.com> writes:
On Tuesday, 14 November 2017 at 07:56:06 UTC, rikki cattermole 
wrote:
 On 14/11/2017 7:54 AM, Tony wrote:
 Is there an easy way to get the string representation of an 
 array, as would be printed by writeln(), but captured in a 
 string?
struct Foo { int x; } void main() { Foo[] data = [Foo(1), Foo(2), Foo(3)]; import std.conv : text; import std.stdio; writeln(data.text); } --- [Foo(1), Foo(2), Foo(3)]
Thanks. That flipped function calling syntax definitely takes some getting used to.
Nov 14
parent reply Dr. Assembly <netorib94 gmail.com> writes:
On Tuesday, 14 November 2017 at 08:21:59 UTC, Tony wrote:
 On Tuesday, 14 November 2017 at 07:56:06 UTC, rikki cattermole 
 wrote:
 On 14/11/2017 7:54 AM, Tony wrote:
 Is there an easy way to get the string representation of an 
 array, as would be printed by writeln(), but captured in a 
 string?
struct Foo { int x; } void main() { Foo[] data = [Foo(1), Foo(2), Foo(3)]; import std.conv : text; import std.stdio; writeln(data.text); } --- [Foo(1), Foo(2), Foo(3)]
Thanks. That flipped function calling syntax definitely takes some getting used to.
if you consider this as a property, it makes alot of sense the var.propName syntax.
Nov 14
parent Timoses <timosesu gmail.com> writes:
On Tuesday, 14 November 2017 at 14:00:54 UTC, Dr. Assembly wrote:
 On Tuesday, 14 November 2017 at 08:21:59 UTC, Tony wrote:
 On Tuesday, 14 November 2017 at 07:56:06 UTC, rikki cattermole 
 wrote:
 Thanks. That flipped function calling syntax definitely takes 
 some getting used to.
if you consider this as a property, it makes alot of sense the var.propName syntax.
To give it a name I suppose it's this: UFCS: https://dlang.org/spec/function.html#pseudo-member
Nov 14