0
간단히 말해서 Unity에서 많은 미리 정의 된 함수 (사용하는 간단한 게임 개발 플랫폼)는 값 (예 : 좌표)을 반환합니다. 특정 조건이 충족되면 false를 반환합니다. 컴파일러는 항상 반환 형식으로 변환을 찾고 함수가 변환을 반환하도록 선언되었으므로 부울을 반환하지 않습니다.특정 값을 반환하는 함수가 필요하고 그렇지 않으면 false를 반환합니다.
Transform SelectObject() {
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast (ray, out hit, unitLayer))
return hit.transform;
else
return false;
}
특정 데이터 형식을 반환하는 방법, 함수가 작업에 '실패'하면 부울 (false)을 반환하는 방법은 무엇입니까?
에도 미리 정의 된 함수는 어딘가에 문서화되어야한다. 어쩌면 당신은 그런 행동의 몇 가지 예를 보길 원할 것입니다. 나는 화합의 대상이 아니지만 여기서 묘사하고있는 것은 이상하게 들린다. 커버 아래에있는 "null"리턴을 false로 변환하는 몇 가지 ** 암시 적 ** 변환이 없다고 확신합니까? – GhostCat
@GhostCat 대답은 내 코드 전체에서 바로 발생했습니다. 나는 "out"키워드의 기본 개념을 이해하지 못했습니다. "Physics.Raycast()"와 같은 미리 정의 된 특정 기능은 특정 조건이 충족되었는지 여부에 따라 true 또는 false를 반환하지만 이러한 함수는 "out"키워드를 사용하여 다른 변수를 통해 추가 정보를 전달합니다. 효과적으로 부울 및 일부 추가 정보를 반환합니다. –