cs로 swapValue 함수를 만들어보자
public swapValue(int a, int b){
//a와 b의 값을 바꿔주는 함수를 만들어보자
}
swift라면 아래와 같이 표현될거임
func swapValue(int: a, int: b)->Int{
}
보이드 스타트에 만들 함수를 불러보자
c#에서 ; 까먹지 말고!
void start() {
int a = 2;
int b = 5;
swapValue(a,b);
//유니티에서 보이게 해주기 위해
Debug.log($"a:{a}, b:{b}") //$가 swift의 \() 같은 역할, 스트링내에서 변수읽기
보이드 스타트에서 변수를 초기화 해놓은 상태, 즉 외부매개변수
그러면 이제 어떻게 a에 b값이 들어가고 b에 a값이 들어가게 할까?
public swapValue(int a, int b) {
a = b
}
이렇게 표현한다면 a에 b값이 들어가 있는 상태 그런데 여기서 만약
public swapValue(int a, int b) {
a = b
b = a
}
이렇게 표현한다면? 우로보로스만들기임ㅋ 그럼 대체 어떻게 b에 a값을 넣을 수 있지?
이 때 바로 임시 변수를 설정해두면 해결됨
public swapValue(int a, int b) {
int temp = a
a = b
b = temp
}
이렇게 해놓으면 위에서 아래로 순서를 읽는 코드특성상 temp에 순수한 a값이 저장되어있고
a에 b값이 넣어져서 a는 5인 상태여도 temp는 여전히 a값인 2를 가지고 있어서 서로 교차가 가능해짐