kotlin - Kotlin 中的嵌套运行块
问题描述
我有嵌套运行块的情况。我想this
从内部运行块访问外部运行块。我按照 IntelliJ 提示尝试了这个,但在(this@run as String).equals("")
. 有没有办法做到这一点?
示例代码:
fun main(args: Array<String>) {
"".run {
1.0.run {
(this@run as String).equals("")
}
}
}
解决方案
因为在该范围内有多个标签具有这样的名称run
。
为了访问外部运行块,只需简单地将其标记为您想要的任何内容。例如,run1@
和run2@
fun main(args: Array<String>) {
"".run run1@ {
1.0.run run2@ {
(this@run1 as String).equals("")
}
}
}
顺便说一句,在 Kotlin 中,equals("")
可以替换为== ""
推荐阅读
- php - 从不同的 php 文件调用文本
- android - 如何在 Flutter 项目中让 Intellij Idea 的 Intellisense 在 C++ 和 Kotlin 上工作?
- php - 如何在 Laravel 中向 API 发送验证消息?
- rust - 循环局部变量
- strapi - Strapi - 自定义路由上的 webhook
- azure - 如何使用 jmespath 在 AZ Cli PowerShell 中获取 appid 和密码?
- vba - 如何格式化以纯文本格式格式化的 Outlook 消息
- npm - npm - 我可以将 npm 包发布到我的服务器吗?
- c - for循环C后缺少数组值
- postgresql - 为什么在客户端进程被杀死后连接仍保留在 pg_stat_activity 中?