함수선언에 public / private 처럼 추가로 넣을 수 있는 함수 제어자라는것이 있다
함수제어자는 view와 pure, modifier가 있다
함수 내에서 실행하는것들이 어떤 값을 변경시키지 않는 경우에 view로 선언하고
함수가 매개변수로 받은 값 외에는 어떤 데이터에도 접근하지 않는 것은 pure로 선언한다.
string 인사 = "안녕?";
function 인사해() public view returns (string) {
return 인사;
}
위와 같은 함수는 함수밖의 데이터에 접근은 하지만 그 값을 변경시키지는 않는다.
그래서 view함수로 선언할 수 있다.
function _계산좀하자(uint a, uint b) private pure returns (uint) {
return a * b;
}
위 함수같은 경우는 매개변수로 받은 a와 b 외에는 아무 데이터에도 접근하지 않는다.
이런 경우에는 pure함수로 선언할 수 있다.
modifier는 나중에 다루게 될것.
간략하게는 함수처럼 정의되고 그 안의 내용으로 이 함수제어자가 달린 함수가 사용되기에 적절한지 판단하는 요소로 작용한다
modifier 함수제어자라네(uint 휘뚜루, uint 마뚜루, uint 나뚜루) {
require(휘뚜루+마뚜루 >= 나뚜루);
_;
}
function 모함수(string 김치) 함수제어자라네 {
철수식탁.push(김치);
}
답
// 함수 밖의 데이터들을 바꾸지 않는 view함수로 선언
function _generateRandomDna(string _str) private view returns (uint) {
}
'솔리디티 > 크립토좀비' 카테고리의 다른 글
레슨2 챕터2, 3, 4 - 매핑, 주소 / msg.sender / require (0) | 2022.02.12 |
---|---|
레슨1 챕터 11, 12, 13 - 형변환, 종합, 이벤트 (0) | 2022.02.11 |
레슨1 챕터9 - 함수 접근 제어자 (private, pubilc, internal, external) (0) | 2022.02.10 |
레슨1 챕터7, 8 - 함수선언, 구조체와 배열 활용 (0) | 2022.02.10 |
레슨1 챕터5, 6 - 구조체, 배열 (0) | 2022.02.10 |
댓글