My *_*adr 5 scala rectangles aspect-ratio
我正在尝试计算java.awt.RectangleScala 中a的宽高比.我要采用" 长边与短边的比例"宽高比的定义,而不是宽高比的"宽高比"类型.
以下代码有效,但是有什么方法可以避免临时变量并将其转换为单行?
val sizes = Seq(rect.getWidth, rect.getHeight)
val aspectRatio = sizes.max / sizes.min
Run Code Online (Sandbox Code Playgroud)
rtr*_*szk 20
您不必创建序列来计算最小值和最大值.您可以使用Math方法
Math.max(rect.getWidth, rect.getHeight) / Math.min(rect.getWidth, rect.getHeight)
Run Code Online (Sandbox Code Playgroud)
一种方法,假设只有两个值被添加到序列中,
Seq(rect.getWidth, rect.getHeight).sorted.reverse.foldRight(1.0)( _ / _ )
Run Code Online (Sandbox Code Playgroud)
你提出的代码虽然更具可读性,但更容易出错,最多除以零需要一些小心.
val aspectRatio = if(rect.getWidth >= rect.getHeight) rect.getWidth / rect.getHeight else rect.getHeight / rect.getWidth
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
624 次 |
| 最近记录: |