Commit 83acbbbb by Manuel Araoz

Array usage examples

parent d96d1dfa
......@@ -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...
}
}
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);
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment