On Monday, 20 February 2017 at 16:18:58 UTC, Paul Backus wrote:
On Monday, 20 February 2017 at 16:04:17 UTC, Martin Tschierschke wrote:
Hello,
I have a little program where I am filling a struct with values from an regex match. Now I want to display the content of the struct for debugging purpose.

I believe the easiest way to do this is to define a custom toString member function for your struct. For example:

struct MyStruct {
    int x;
    double y;
    string s;

    string toString() {
        import std.format: format;

return "MyStruct(x: %d, y: %f, s: \"%s\")".format(x, y, s);
    }
}

void main() {
    import std.stdio: writeln;

    MyStruct foo;
    foo.x =2; foo.y = 3.14; foo.s = "the quick brown fox";

writeln(foo); // Prints MyStruct(x: 2, y: 3.140000, s: "the quick brown fox")
}
Good suggestion, thank you! Then the definition is near the struct definition and I do not need to care about what to call, just writeln(myvar); cool!


Reply via email to