From 0df5f40ac41220aae8a9d082ebd45fb17b8b821b Mon Sep 17 00:00:00 2001 From: RJ Date: Wed, 30 Mar 2016 10:43:39 -0500 Subject: Update frequently-asked-questions.rst --- docs/frequently-asked-questions.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'docs') diff --git a/docs/frequently-asked-questions.rst b/docs/frequently-asked-questions.rst index 6ac5a9e9..b1ca04ff 100644 --- a/docs/frequently-asked-questions.rst +++ b/docs/frequently-asked-questions.rst @@ -666,6 +666,22 @@ gas and return your 20 Wei). In the above example, the low-level function `call` is used to invoke another contract with `p.data` as payload and `p.amount` Wei is sent with that call. +What happens to a mapping copied from a mapping of structs? +=========================================================== + +This is a very interesting question. Suppose that we have a contract field set up like such:: + + struct user{ + mapping(string => address) usedContracts; + } + mapping(uint => user) userList; + function somefunction{ + user userA = userList[1]; + userList[2] = userA; + } + +In this case, the mapping of the struct being copied over into the userList is ignored. + How do I initialize a contract with only a specific amount of wei? ================================================================== -- cgit v1.2.3 From 9720851bd6b3f03e0c822becc8cd4657f9aeb63e Mon Sep 17 00:00:00 2001 From: RJ Date: Wed, 30 Mar 2016 12:08:48 -0500 Subject: Update frequently-asked-questions.rst --- docs/frequently-asked-questions.rst | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/frequently-asked-questions.rst b/docs/frequently-asked-questions.rst index b1ca04ff..fc7d7b7f 100644 --- a/docs/frequently-asked-questions.rst +++ b/docs/frequently-asked-questions.rst @@ -666,21 +666,22 @@ gas and return your 20 Wei). In the above example, the low-level function `call` is used to invoke another contract with `p.data` as payload and `p.amount` Wei is sent with that call. -What happens to a mapping copied from a mapping of structs? -=========================================================== +What happens to a struct's mapping when copying over a struct? +============================================================== This is a very interesting question. Suppose that we have a contract field set up like such:: struct user{ mapping(string => address) usedContracts; } - mapping(uint => user) userList; function somefunction{ - user userA = userList[1]; - userList[2] = userA; + user user1; + user1.usedContracts["Hello"] = "World"; + user user2 = user1; } -In this case, the mapping of the struct being copied over into the userList is ignored. +In this case, the mapping of the struct being copied over into the userList is ignored as there is no "list of mapped keys". +Therefore it is not possible to find out which values should be copied over. How do I initialize a contract with only a specific amount of wei? ================================================================== -- cgit v1.2.3