더 현명한 접근 방식은 여러 조건문을 사용하여 다양한 수치 범위에 따라 증분 값을 반환하는 함수를 작성하는 것입니다.
<p>입력이 특정 숫자 범위 내에 있는 경우 특정 값을 반환하는 함수를 작성하려고 합니다. </p>
<p>일반적으로 저는 이 작업을 수행하기 위해 일련의 if/else if 문을 작성합니다. 그러나 나는 많은 수의 범위를 다루고 있으므로 30개 이상의 if/else if 문을 작성하는 것은 비효율적입니다. </p>
<p>전체 범위에 대한 최소값과 최대값이 있고 이를 더 작은 범위로 분할하고 싶다고 가정해 보겠습니다. 각 범위에 대해 일부 값을 반환하고 싶습니다. 이상적으로는 각 범위의 반환 값이 고정된 숫자만큼 감소합니다. </p>
<p>맥락을 제공하기 위해 다음과 같은 것을 사용하여 마일리지를 기준으로 값을 계산하려고 합니다. 예를 들어, 마일리지가 101~120마일 사이인 경우 요율은 마일리지의 80%와 같습니다. 마일리지가 증가할수록 비율은 감소합니다. 더욱이, 백분율 감소의 값은 고정된 숫자(-0.05
와 같은)일 수 있습니다.
<pre class="brush:php;toolbar:false;">...
그렇지 않으면 (m >= 101 &&m <= 120) 0.80을 반환합니다.
그렇지 않으면 (m >= 121 &&m <= 140) 0.75를 반환합니다.
...</pre>
<p>각 범위마다 반환 값에 패턴이 있기 때문에 if/else 문을 잔뜩 작성하는 것보다 더 나은 방법으로 수행할 수 있다고 생각하지만 정확히 어떻게 수행되는지는 잘 모르겠습니다. 어떤 아이디어가 있나요? </p>