如何在kotlin中的扩展函数中使用map()
我想创建一个扩展函数,返回文件列表的总大小。代码如下:如何在kotlin中的扩展函数中使用map(),kotlin,Kotlin,我想创建一个扩展函数,返回文件列表的总大小。代码如下: fun List<Files>.totalSize(){ return this.map { it.length() }.reduce { current, total -> current + total } } fun List.totalSize(){ 把这个还给我{ it.length() }.reduce{current,total->current+total} } 但是我得
fun List<Files>.totalSize(){
return this.map {
it.length()
}.reduce { current, total -> current + total }
}
fun List.totalSize(){
把这个还给我{
it.length()
}.reduce{current,total->current+total}
}
但是我得到了未解析的引用:length
错误消息。显然,它
并不像预期的那样引用单个文件,而是引用文件列表
我不明白问题出在哪里。有什么帮助吗?正如你们在评论中提到的,这是一个愚蠢的打字错误。我不知道关于
sum()
。这是我最后的代码:
fun List<File>.totalSize(): Long{
return this.map {
it.length()
}.sum()
}
fun List.totalSize():长{
把这个还给我{
it.length()
}.sum()
}
谢谢大家正如你们在评论中提到的,这是一个愚蠢的打字错误。我不知道关于
sum()
。这是我最后的代码:
fun List<File>.totalSize(): Long{
return this.map {
it.length()
}.sum()
}
fun List.totalSize():长{
把这个还给我{
it.length()
}.sum()
}
谢谢各位我想你们需要的是
List
上的扩展,而不是List
。你们的totalSize
函数还应该指定一个返回类型(例如Long
)。reduce(…)
调用可以简化为sum()
有趣的List.totalSize()=sum{it.length()等等,您正在尝试获取总文件大小吗?文件没有length()
方法。或者您正在尝试获取列表的总大小fun List.totalSize=sum{it.size}
我想您需要的是List
上的扩展,而不是List
。您的totalSize
函数还应该指定返回类型(例如Long
)。reduce(…)
调用可以简化为sum()
fun List.totalSize()=sum{it.length}
等等,您正在尝试获取总文件大小吗?文件没有length()
方法。或者您正在尝试获取列表的总大小fun List.totalSize=sum{it.size}