kotlin - 最多接受多个函数调用
问题描述
假设我有这个功能fun someValue() : Double
。我想运行这个函数n次并取所有结果中的最大值。
我知道我可以将它全部保存在一个列表中并使用max()
,但我不想浪费那个空间(因为它实际上返回了一个更大的对象)。
是否存在为此的库函数?
也许像repeat(n){someValue()}.max()
解决方案
这里有几种不分配中间数组或所有值列表的方法。
var x = someValue()
repeat(n - 1) {
x = max(x, someValue())
}
val y = (1 until n).fold(someValue()) { acc, _ -> max(acc, someValue()) }
推荐阅读
- java - 引导样式不起作用(不折叠)
- linux - 如何永久设置 GOPATH 环境变量
- c# - 在构建后事件之前或之后使用强名称对程序集进行签名?
- java - 为什么 urlConnection.getContentType() 为从 url 读取的某些图像提供 null 值?
- javascript - 从节点js中的一组MYSQL元素中选择特定元素
- angular - i18n 消息中的动态变量
- .net - 如何从 Winforms .Net 应用程序发送 Firebase Analytics 事件?
- c# - Windows 搜索查询中的包含功能不起作用
- android - 无论如何要快速滚动viewpager
- fullcalendar - 渲染一年的事件,在 ResourceTimeline 中显示 40 天的日期范围