Zuordnungen werden normalerweise im oberen Teil des Vertrags deklariert, aber gibt es eine Möglichkeit, eine Zuordnung - die zu einer Struktur gehört - in einer Funktion zu instanziieren?
So habe ich es hinbekommen:
pragma solidity ^0.4.24;
contract FancyContract {
struct FancyStruct {
address from;
address to;
mapping (address => uint256) balances;
}
FancyStruct public fancyStruct;
function fancyFunction()
public
{
fancyStruct = FancyStruct({
from: address(0x01),
to: address(0x02)
});
fancyStruct.balances[address(0x01)] = 10;
fancyStruct.balances[address(0x02)] = 20;
}
}
Sie verwenden die auf geschweiften Klammern basierende Methode, um die Struktur zu initialisieren, lassen die Zuordnung in der Deklaration weg und interagieren dann mit der darin enthaltenen Zuordnung, wie Sie es normalerweise mit einer Speichervariablen tun würden.
Tech-Ingenieur aus New York
Paul Razvan Berg
Tech-Ingenieur aus New York