Gibt es eine Möglichkeit, Berechnungen zur Kompilierzeit mit rational_const und einem konstanten Wert durchzuführen?

Von den folgenden drei Erklärungen

ufixed constant TEST1 = 256;
uint constant TEST2 = 256;
uint[] testTable1 = [uint(0.001 * TEST1), uint(0.01 * TEST1), uint(1.1 * TEST1)];
uint[] testTable2 = [uint(0.001 * TEST2), uint(0.01 * TEST2), uint(1.1 * TEST2)];
uint[] testTable3 = [uint(0.001 * 256), uint(0.01 * 256), uint(1.1 * 256)];

nur testTable3 funktioniert.

testTable1 gibt den Fehler aus

UnimplementedFeatureError: Not yet implemented - FixedPointType.

und testTable2 gibt einen Fehler für jedes Element des Typs aus

 TypeError: Operator * not compatible with types rational_const 1 / 1000 and uint256

Gibt es eine Möglichkeit, ein solches Array zu definieren, ohne den Multiplikationsfaktor in jedem Element angeben zu müssen?

Solidität ^0.4.24;

Antworten (1)

AFAIK, UnimplementedFeatureError: Not yet implemented - FixedPointType.nur Unterstützung durch Solidity 0.5.0