당신은 삼항 연산자를 사용한다 :
return (inputArray.length % 2 != 0) ? (inputArray[int(inputArray.length/2)] + inputArray[int(inputArray.length/2)+1])/2 : inputArray[int(inputArray.length/2)+1];
하는 것과 같습니다 만 &&
를 사용하려면
if (inputArray.length % 2 != 0) {
return (inputArray[int(inputArray.length/2)] + inputArray[int(inputArray.length/2)+1])/2;
} else {
return inputArray[int(inputArray.length/2)+1];
}
을 및 ||
을 사용하면 다음을 사용할 수 있습니다 (실제로 이동하지 않음). OD 프로그래밍 스타일) :
((inputArray.length % 2 != 0) || return inputArray[int(inputArray.length/2)+1]) && return (inputArray[int(inputArray.length/2)] + inputArray[int(inputArray.length/2)+1]);
에 해당 어떤 : 그래서
(condition || return value2) && return value1;
, 부울 연산자의 short-circuit evaluation 덕분에 : condition
이 true
입니다
- 경우,
return value2
평가되지 않고 return value1
이 실행됩니다.
condition
이 false
인 경우 return value2
이 평가됩니다.
출처
2012-05-24 10:27:32
sch
나는 * 더 * 읽고/이해할 수있는 표현하려고하는 개념을 만들 때 모두 한 줄의 코드입니다. 하지만 그게 너가 여기서하는 일이 아닌 것 같아. 그래서 물어봐야 겠어. 세상에 왜? –
"중간 값 찾기"기능을 변경할 필요가 없으며 쉽게 버그를 테스트 할 수 있다고 생각합니다. 한 줄은 안전한 공간입니다. 또한, 나는 그것을 어떻게하는지 알고 싶다. – apscience