저는 하스켈과 함께 간단한 OpenGL 게임을 작성하고 있습니다. 사용자가 창 크기를 조정할 때마다 너비와 높이가 표시됩니다. 1.6의 W/H 비율을 유지하면서 창 내부에 맞는 가장 큰 너비와 높이를 계산해야합니다.가로 세로 비율을 찾는 가장 좋은 방법
이것은 내가 작성한 것입니다. 그것은 작동하지만 나는 그것이 하스켈에서 그것을하는 가장 좋은 방법이라고 생각하지 않습니다. 누군가가 어떤 대안을 제안 할 수 있습니다 :
keepRatio (w,h) | w > expectedWidth = (floor expectedWidth, h)
| otherwise = (w, floor(fromIntegral w/fixedRatio))
where expectedWidth = fromIntegral h * fixedRatio
이 경우'minBy (fst 비교) '대신'min'을 말할 수 있습니까? – dave4420
예! 인스턴스 (Ord a, Ord b) => Ord (a, b)를 잊어 버렸습니다. 그에 따라 편집 됨. –