digitalmars.D.learn - DMD won't compile re-init of variable
- Simon (19/19) Jan 30 2020 Hi dlang community,
- MoonlightSentinel (4/23) Jan 30 2020 You can use m_string2edge.clear() if you want to remove all
- Simon (7/38) Feb 03 2020 Hi MoonlightSentinel,
- Adam D. Ruppe (2/3) Jan 30 2020 null is the initial state for those.
- Minty Fresh (5/8) Jan 31 2020 More generally, .init can be used as to get the initial state for
- Simon (2/12) Feb 03 2020 Thank you, Minty Fresh, this was the solution!
Hi dlang community, I'm trying to implement a "reset" functionality which should revert all variables to the program start initial state. Example: import Graph; protected Edge[string] m_string2edge; int main() { // adding some elements // not important how it works // m_string2edge[name] = e; // resetting it m_string2edge = null; m_string2edge = new Edge[string]; // <- won't compile return 0; } How do I revert my variable to the init state? Thanks in advance, Simon
Jan 30 2020
On Thursday, 30 January 2020 at 21:09:41 UTC, Simon wrote:Hi dlang community, I'm trying to implement a "reset" functionality which should revert all variables to the program start initial state. Example: import Graph; protected Edge[string] m_string2edge; int main() { // adding some elements // not important how it works // m_string2edge[name] = e; // resetting it m_string2edge = null; m_string2edge = new Edge[string]; // <- won't compile return 0; } How do I revert my variable to the init state? Thanks in advance, SimonYou can use m_string2edge.clear() if you want to remove all entries from m_string2edge. See https://dlang.org/spec/hash-map.html#properties
Jan 30 2020
On Thursday, 30 January 2020 at 21:18:04 UTC, MoonlightSentinel wrote:On Thursday, 30 January 2020 at 21:09:41 UTC, Simon wrote:Hi MoonlightSentinel, in this case it won't compile: ..\Electrics.d(42): Error: function Electrics.clear() is not callable using argument types (Edge[string]) ..\Electrics.d(42): expected 0 argument(s), not 1Hi dlang community, I'm trying to implement a "reset" functionality which should revert all variables to the program start initial state. Example: import Graph; protected Edge[string] m_string2edge; int main() { // adding some elements // not important how it works // m_string2edge[name] = e; // resetting it m_string2edge = null; m_string2edge = new Edge[string]; // <- won't compile return 0; } How do I revert my variable to the init state? Thanks in advance, SimonYou can use m_string2edge.clear() if you want to remove all entries from m_string2edge. See https://dlang.org/spec/hash-map.html#properties
Feb 03 2020
On Thursday, 30 January 2020 at 21:09:41 UTC, Simon wrote:How do I revert my variable to the init state?null is the initial state for those.
Jan 30 2020
On Thursday, 30 January 2020 at 21:36:53 UTC, Adam D. Ruppe wrote:On Thursday, 30 January 2020 at 21:09:41 UTC, Simon wrote:More generally, .init can be used as to get the initial state for any type. ie. m_string2edge = typeof(m_string2edge).init;How do I revert my variable to the init state?null is the initial state for those.
Jan 31 2020
On Friday, 31 January 2020 at 14:01:04 UTC, Minty Fresh wrote:On Thursday, 30 January 2020 at 21:36:53 UTC, Adam D. Ruppe wrote:Thank you, Minty Fresh, this was the solution!On Thursday, 30 January 2020 at 21:09:41 UTC, Simon wrote:More generally, .init can be used as to get the initial state for any type. ie. m_string2edge = typeof(m_string2edge).init;How do I revert my variable to the init state?null is the initial state for those.
Feb 03 2020