Array usage examples
This commit is contained in:
@ -5,10 +5,16 @@ import './PullPaymentCapable.sol';
|
||||
contract BadArrayUse is PullPaymentCapable {
|
||||
address[] employees;
|
||||
|
||||
function payroll() {
|
||||
function payBonus() {
|
||||
for (var i = 0; i < employees.length; i++) {
|
||||
|
||||
address employee = employees[i];
|
||||
uint bonus = calculateBonus(employee);
|
||||
asyncSend(employee, bonus);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function calculateBonus(address employee) returns (uint) {
|
||||
// some expensive computation...
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,11 +1,21 @@
|
||||
import './PullPaymentCapable.sol';
|
||||
|
||||
contract GoodArrayUse {
|
||||
contract GoodArrayUse is PullPaymentCapable {
|
||||
address[] employees;
|
||||
mapping(address => uint) bonuses;
|
||||
|
||||
function payroll() {
|
||||
function payBonus() {
|
||||
for (uint i = 0; i < employees.length; i++) {
|
||||
|
||||
address employee = employees[i];
|
||||
uint bonus = bonuses[employee];
|
||||
asyncSend(employee, bonus);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function calculateBonus(address employee) returns (uint) {
|
||||
uint bonus = 0;
|
||||
// some expensive computation...
|
||||
bonuses[employee] = bonus;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -2,4 +2,5 @@ module.exports = function(deployer) {
|
||||
deployer.deploy(BadFailEarly);
|
||||
deployer.deploy(GoodFailEarly);
|
||||
deployer.deploy(PullPaymentBid);
|
||||
deployer.deploy(BadArrayUse);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user