kotlin - 除了 Kotlin 中的最后一个之外,对列表中的元素求和的最干净的方法是什么?
问题描述
这个问题主要是出于好奇,因为我几乎没有用功能习语触及表面。我有一个Int
s 列表,其中最后一个是校验和,所以为了验证它,我需要将所有其他的相加。到目前为止,我想出了这个:
val checksum = list.dropLast(1).sum()
有没有可能做得更好?
解决方案
可能类似的东西也可能起作用;在选择元素与删除元素方面:
val checksum = list.takeWhile{ list.indexOf(it) < list.lastIndex }.sum()
或者更简单的公式:
val checksum = list.sum().minus(list.last())
什么更适合仅取决于以后是否仍需要将该列表用于其他用途。
推荐阅读
- delphi-7 - 尝试连接时出现 TidHTTP 错误“需要一个端口”
- matlab - 当行具有不同大小时,在Matlab中选择数字单元格数组的唯一行
- keyboard-shortcuts - xfce:Alt-Ctrl-Left 关闭所有打开的窗口?
- http - 包含允许 CORS 不起作用所需的所有标头的 Http 响应
- angular - 注意能够从服务中获取路由参数
- events - 如何订阅 Spec 对象 (TextInputField)
- android - 如何修复 Expo Android Build Gradle API 资源故障
- c# - 在c#中如何使用html敏捷包获取唯一列表所有标签
- jquery - Clipboard.js 使用多个按钮在复制成功时更改按钮文本
- c++ - 通过引用返回 `std::shared_ptr`