kotlin - 如何返回在 Kotlin 上进行操作的对象的值(类似于 Javascript 中的双点运算符)?
问题描述
在 Javascript 中,有一个像双点 (..) 这样的运算符,您可以在其中对所述对象进行操作,然后完全返回修改后的对象,而不是返回函数结果。
例子:
var a = [1, 2, 3]
return a..push(4) // returned data: array of [1, 2, 3, 4]
Kotlin 中有这样的运算符吗?我想改变:
var a = mutableListOf(1, 2, 3)
a.add(4)
return a
进入:
var a = mutableListOf(1, 2, 3)
return (a..add(4))
或类似的东西。谢谢。
解决方案
你想要的是应用运算符
以该值作为接收者调用指定的功能块并返回该值。
var a = arrayListOf(1,2,3)
a = a.apply {add(4) }
println(a)
// [1,2,3,4]
进一步阅读:
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/apply.html
推荐阅读
- c# - 无法使用 OpenXML 将带有图像的 HTML 转换为使用 iText7 的 PDF
- javascript - 图像不会加载到静态文件夹中的烧瓶中
- python - 根据列值从 DataFrame 中选择行,限制为 16384 行
- java - PayPal API 设置返回 URL
- apify - 尝试使用 apify web-scraper actor 抓取页面标题时出现错误 403
- gitlab-ci - 使用插件 frontend-maven-plugin 缓存节点模块库
- sql - 如何查询 2 个表,但其中一行可能为空?
- java - 一旦在物理设备中运行,它就会迅速关闭
- php - 如何在 php8.0 中编译 php 模块,该模块曾经在 php7 中使用 TSRMLS_CC,但在 php8.0 中已弃用
- python - 将 Python 输出存储到 csv 文件?