이것은 내가 발견 한 가장 가까운하지만 숫자 대신 부울 다루는 : 코드가 짧고 쉽게 읽을 유지하면서 나는 루비 0 시나리오에 의해 분할을 피하기 위해 노력하고있어 DRY up Ruby ternaryRuby의 3 진수가 더 짧습니까?
.
나는 다음과 같은 코드 좀 더 간결하게 만들고 싶어 :
number_to_percentage ((percent_complete.nan? ? 0 : (percent_complete * 100)), :precision => 0)
또는
number_to_percentage ((percent_complete.nan? ? 0 : percent_complete) * 100, :precision => 0)
그냥 지금 읽고 정말 열심히 보인다. 연결된 체인이 더 많으므로 percent_complete
은 실제로 약간 길었습니다. 메소드에서이 값을 반환하기 때문에 다시 길어집니다.
나는 임시 변수를 사용하거나 메소드 이름을 줄이는 것을 피하고 싶다. 그래서 다른 방법을 배우기를 바랬다.
"percent_complete"를 두 번 입력하지 않아도된다면 해결할 수 있습니다.
NaN 대신'nil'으로 끝나기 위해'percent_complete'을 변경할 수 있습니까? 그러면'nil.to_i == 0'을 이용할 수 있습니다. –
@mu가 너무 짧습니다. 제안에 감사드립니다. 나는 그것을 nil로 바꿀 수 있을지 확신하지 못한다. 나는 그것을 조사해야 할 것이다. 현재 percent_complete는 부동 소수점을 실수로 나눈 값입니다. –
개인적으로, 문체면에서는 메서드에 대한 매개 변수 목록 안의 삼항문을 보지 않는 것이 좋습니다. –