for (초기값; 값이 얼마나 forloop을 돌아야하는지; forloop 한번 돌때마다 값의 변화;) {
forloop 내용
}
event CountryIndexName(uint256 indexed _index, string _name);
string[] private countryList = ["South Korea","North Korea","USA","China","Japan"];
function forLoopEvents() public {
for(uint256 i =0; i<countryList.length; i++){
emit CountryIndexName(i,countryList[i]);
}
}
1. uint256 i =0; // i 는 0 부터 시작.
2. i < countryList.length(=5) 보다 작은가? 작다면 for loop 실행
3. emit CountryIndexName(i,countryList[i]); // i 값 0 과 countryList[0](=South Korea)가 이벤트로 출력
4. i++ // i 가 1 증가 하여 0에서 1이 된다.
5. i<countryList.length // i (=1) 이 countryList.length(=5) 보다 작은가? 작다면 for loop 실행
6 emit CountryIndexName(i,countryList[i]); // i 값 1 과 countryList[1](=North Korea) 가 이벤트로 출력
7. i++ // i 가 1 증가 하여 1에서 2가 된다.
8. i<countryList.length // i (=2) 이 countryList.length(=5) 보다 작은가? 작다면 for loop 실행
9 emit CountryIndexName(i,countryList[i]); // i 값 2 과 countryList[2](=USA) 가 이벤트로 출력
10. i++ // i 가 1 증가 하여 2에서 3가 된다.
11. i<countryList.length // i (=3) 이 countryList.length(=5) 보다 작은가? 작다면 for loop 실행
12 emit CountryIndexName(i,countryList[i]); // i 값 3 과 countryList[3](=China) 가 이벤트로 출력
13. i++ // i 가 1 증가 하여 3에서 4가 된다.
14. i<countryList.length // i (=4) 이 countryList.length(=5) 보다 작은가? 작다면 for loop 실행
15. emit CountryIndexName(i,countryList[i]); // i 값 4 과 countryList[4](=Japan) 가 이벤트로 출력
16. i++ // i 가 1 증가 하여 4에서 5가 된다.
17. i<countryList.length // i (=5) 이 countryList.length(=5) 보다 작은가? 5<5 되기에, for loop을 종료 '
초기값
while (값이 얼마나 forloop을 돌아야하는지) {
whileloop 내용
whileloop 한번 돌때마다 값의 변화;
}
function whileLoopEvents() public {
uint256 i = 0;
while(i<countryList.length){
emit CountryIndexName(i,countryList[i]);
i++;
}
}
초기값
do{
dowhileloop 내용
}
while (값이 얼마나 forloop을 돌아야하는지)
function doWhileLoopEvents() public {
uint256 i = 0;
do{
emit CountryIndexName(i,countryList[i]);
i++;
}
while(i<countryList.length);
}
function doWhileLoopEvents() public {
uint256 i = 2;
do{
emit CountryIndexName(i,countryList[i]);
i++;
}
while(i<1);
}
}
솔리디티 강좌 25강 - 에러 핸들러1 assert, revert, require 0.4.22 ~ 0.7.x 버전 (0) | 2021.09.24 |
---|---|
솔리디티 강좌 24강 반복문3 - linear search (0) | 2021.09.23 |
솔리디티 강좌 21강 if 조건문 (0) | 2021.09.21 |
솔리디티 강좌 20강 struct (구조체) (0) | 2021.09.20 |
솔리디티 강좌 19강 Mapping 과 Array 주의할 점 (0) | 2021.09.19 |