TIL44

shnae·2023년 12월 22일
0
post-thumbnail

Solidity

    //숫자만 들어가는 array를 구현하세요. 그 array에서 2의 배수들만 출력하는 함수를 구현하세요.
    //배열을 하나 더 만들면 상태변수가 하나 더 생긴다는 의미이고, 가스비가 든다
    //생성한 배열에 숫자를 넣을 때마다 가스비가 또 발생한다
    //로컬 변수에서는 push()가 적용되지 않는다 - push는 길이를 변경해주는 변수
    function getNumbers2() public view returns(uint[] memory){
        uint[] memory _odd = new uint[](10);
        uint index;

        for(uint i = 0; i < numbers.length; i++){
            if(numbers[i] % 2 == 0){
                _odd[index] = numbers[i];
                index++;
            }
        }

        return _odd;
    }

지역변수는 일부 변수 선언과 함수가 다르게 적용된다.
push()가 동작하지 않는다.
같은 기능을 하려면 다르게 적용해줘야한다.

로컬변수는 싸다고 생각해주면 된다.
따라서 변수의 길이를 변경해주는 값비싼 동작은 허용되지 않는다.

값싸다 - 휘발성, 명확하게 크기를 정해줘야하고, 동작이 끝나면 날라간다.

상태변수 : 지역변수 = 비싸다 : 싸다 = 가스비 발생한다 : 가스비가 발생하지 않는다 = 자유도가 높다 : 자유도가 높지 않다

enum status

상태를 저장할 수 있는 변수


포아송 분포도

  • 5번 중에 2번 일어날 확률: 5C2

0개의 댓글