Re: How get struct value by member name string ?

2023-06-02 Thread bauss via Digitalmars-d-learn
On Tuesday, 30 May 2023 at 15:43:12 UTC, Steven Schveighoffer wrote: On 5/30/23 4:46 AM, John Xu wrote: How to put above enum as a function parameter? Following code wouldn't work:     string getTMember(T t, enum string memberName) {     return __traits(getMember, t, memberName);     }

Re: How get struct value by member name string ?

2023-06-02 Thread Steven Schveighoffer via Digitalmars-d-learn
On 6/1/23 10:58 PM, John Xu wrote: Ok, thanks for all you gentlemen's help. I tried following function, now it works like C/C++/Python way:     string getTMember(T t, string columnName) {     foreach(member; __traits(allMembers, T)){     if (member == columnName) {  

Re: How get struct value by member name string ?

2023-06-01 Thread John Xu via Digitalmars-d-learn
A correction: string getTMember(T t, string columnName) { foreach(member; __traits(allMembers, T)){ if (member == columnName) { return __traits(getMember, t, member).to!string; } } return ""; }

Re: How get struct value by member name string ?

2023-06-01 Thread John Xu via Digitalmars-d-learn
On Thursday, 1 June 2023 at 15:38:08 UTC, Steven Schveighoffer wrote: On 5/31/23 12:08 AM, John Xu wrote: When render vibe.d diet template,     string[] allMembers = __traits(allMembers, t); enum allMembers = __traits(allMembers, t);     res.render!("index.dt", t, allMembers) if I

Re: How get struct value by member name string ?

2023-06-01 Thread Steven Schveighoffer via Digitalmars-d-learn
On 5/31/23 12:08 AM, John Xu wrote: When render vibe.d diet template,     string[] allMembers = __traits(allMembers, t); enum allMembers = __traits(allMembers, t);     res.render!("index.dt", t, allMembers) if I don't want write memberName one by one in diet template:     table  

Re: How get struct value by member name string ?

2023-05-30 Thread John Xu via Digitalmars-d-learn
On Tuesday, 30 May 2023 at 15:43:12 UTC, Steven Schveighoffer wrote: On 5/30/23 4:46 AM, John Xu wrote: How to put above enum as a function parameter? Following code wouldn't work:     string getTMember(T t, enum string memberName) {     return __traits(getMember, t, memberName);     }

Re: How get struct value by member name string ?

2023-05-30 Thread Steven Schveighoffer via Digitalmars-d-learn
On 5/30/23 4:46 AM, John Xu wrote: How to put above enum as a function parameter? Following code wouldn't work:     string getTMember(T t, enum string memberName) {     return __traits(getMember, t, memberName);     } compile time parameters come before runtime parameters: ```d

Re: How get struct value by member name string ?

2023-05-30 Thread bauss via Digitalmars-d-learn
On Tuesday, 30 May 2023 at 15:24:21 UTC, bauss wrote: On Tuesday, 30 May 2023 at 08:46:43 UTC, John Xu wrote: How to put above enum as a function parameter? Following code wouldn't work: string getTMember(T t, enum string memberName) { return __traits(getMember, t, memberName);

Re: How get struct value by member name string ?

2023-05-30 Thread bauss via Digitalmars-d-learn
On Tuesday, 30 May 2023 at 08:46:43 UTC, John Xu wrote: How to put above enum as a function parameter? Following code wouldn't work: string getTMember(T t, enum string memberName) { return __traits(getMember, t, memberName); } ... As simple as this: ``` string getTMember(T

Re: How get struct value by member name string ?

2023-05-30 Thread drug007 via Digitalmars-d-learn
30.05.2023 11:46, John Xu пишет: How to put above enum as a function parameter? Following code wouldn't work:     string getTMember(T t, enum string memberName) {     return __traits(getMember, t, memberName);     } My database table is very wide, with many columns. Above ddbc

Re: How get struct value by member name string ?

2023-05-30 Thread John Xu via Digitalmars-d-learn
On Tuesday, 30 May 2023 at 01:33:54 UTC, H. S. Teoh wrote: On Tue, May 30, 2023 at 01:24:46AM +, John Xu via Digitalmars-d-learn wrote: On Monday, 29 May 2023 at 11:21:11 UTC, Adam D Ruppe wrote: > On Monday, 29 May 2023 at 09:35:11 UTC, John Xu wrote: > > Error: variable `column`

Re: How get struct value by member name string ?

2023-05-29 Thread H. S. Teoh via Digitalmars-d-learn
On Tue, May 30, 2023 at 01:24:46AM +, John Xu via Digitalmars-d-learn wrote: > On Monday, 29 May 2023 at 11:21:11 UTC, Adam D Ruppe wrote: > > On Monday, 29 May 2023 at 09:35:11 UTC, John Xu wrote: > > > Error: variable `column` cannot be read at compile time > > > > you should generally

Re: How get struct value by member name string ?

2023-05-29 Thread John Xu via Digitalmars-d-learn
On Monday, 29 May 2023 at 11:21:11 UTC, Adam D Ruppe wrote: On Monday, 29 May 2023 at 09:35:11 UTC, John Xu wrote: Error: variable `column` cannot be read at compile time you should generally getMember on a variable T t; __traits(getMember, t, "name") like that, that's as if you wrote

Re: How get struct value by member name string ?

2023-05-29 Thread Adam D Ruppe via Digitalmars-d-learn
On Monday, 29 May 2023 at 09:35:11 UTC, John Xu wrote: Error: variable `column` cannot be read at compile time you should generally getMember on a variable T t; __traits(getMember, t, "name") like that, that's as if you wrote t.name