问题标签 [kotlin-script]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kotlin - Kotlin 脚本无法实例化类
Ken Kousen的 Kotlin Cookbook 尝试——1.5 执行 Kotlin 脚本会产生“无法实例化类”错误。
kotlin version 1.3.50
kotlin - Kotlin 脚本 (.kts) 文件——没有 println?
我正在尝试使用 Kotlin 作为脚本语言。根据他们的文档,您应该能够在 Kotlin 脚本中运行顶级代码。
我使用他们的官方示例编写的一个简单的“Hello, World”程序不输出任何文本。它编译/解释,成功终止,但 println() 语句似乎什么都不做
有谁知道我在哪里可以找到使用 Kotlin 作为脚本语言时实际支持的内容的表格/摘要?我在使它做一个简单的打印语句时缺少什么。
我正在使用通过 sdkman 在 Ubuntu 上安装的 Kotlin SDK 运行。从 Ubuntu 提供的 vanilla 终端运行。预期的输出将是“Hello,World!”的行。显示,但根本没有输出。
java - 评估具有依赖关系的 kotlin 脚本文件
问题:如何在运行时执行一组 kotlin 文件并从中返回一个kts
文件的结果?
我编写系统,它能够执行kts
带有指令的文件。目前它支持以下执行模式:
main.kts
- 该文件将被执行。它应该返回List<Step>
但是,用户可以将任何其他文件放在同一文件夹中。例如,文件夹可以包含以下文件:
main.kts
Constants.kt
// 它有一些常量Helpers.kt
// 一些额外的方法
ScriptEngine具有评估代码的方法,但是它只有一个输入文件。
问题:如何要求 ScriptEngine 将类编译到类路径中,但只执行其中一个?
此解决方案不正确,因为文件顺序很重要(例如,如果第一个文件依赖于最后一个文件,则编译失败):
另一种解决方案(可能导致不可预测的编译波动):
所以,问题:如何在运行时执行一组 kotlin 文件并kts
从它们返回一个文件的结果?
android - 如何在 Android 项目中使用 Kotlin 工作表
我想在我的 Android 项目中使用Kotlin 工作表来添加代码草稿,例如:
草稿.ws.kts
工作表本身正在工作:
但是构建我的 Android 应用程序失败,输出如下:
依赖是implementation "org.jetbrains.kotlin:kotlin-script-runtime:1.3.70"
maven - 在 Kscript 中导入库时如何解决“java.lang.NoClassDefFoundError”?
我是 Kotlin 脚本的新手,我正在尝试使用 Kscript 导入库。我一直在关注教程,并尝试了一个非常简单的脚本(如下),它可以导入几个库。当我运行脚本时,我收到以下错误(我尝试执行的任何导入都会发生此错误)。当我删除导入时,脚本运行良好。关于如何修复代码中的导入的任何想法?
错误信息:
我的代码:
kotlin - 每当我尝试运行任何脚本时,Kotlin 脚本支持都会因“参数数量错误”而失败
我正在尝试使用 运行一个非常基本的脚本org.jetbrains.kotlin:kotlin-scripting-jvm
,但是当我不应该得到两个错误时,我得到了两个错误。这是我的脚本:
我希望得到 aResultWithDiagnostics.Success
和 a resultValue
,1
但我得到 a Failure
,这些报告:
- 该表达式未使用
- 参数数量错误
即使我通过修改我的脚本来修复警告
我仍然得到wrong number of arguments error
. 我检查了来源,似乎在
参数为空。我究竟做错了什么?这就是我尝试运行脚本的方式:
这是我得到的这个wrong number of arguments
错误的堆栈跟踪:
kotlin - kscript:如何获取当前文件的目录?
有没有办法在 kotlin 脚本中获取当前脚本位置的目录?
我可以用 bash 实现这一点
或者
kotlin - 如何在 kotlin 脚本中包含 jar 文件
我想从我的 kotlin 脚本文件中分离出一些通用代码,以便可以重复使用。
我这样做了:
// MyLib.kt
我编译了这个文件来创建一个 jar 文件:
然后我创建了一个脚本文件:
// myScript.kts
但我无法编译脚本文件,因为它既不识别 myLib 包也不识别 say_hello() 函数。
这样做的正确方法是什么。
问题更新: 我正在使用 kscript 来运行我的脚本。打字很多,例如,
每次我都必须运行脚本,从而破坏了使用 kscript 的动机。
有没有什么办法让我不需要每次命令行都给出 jar 的路径。相反,我想以 kscript 方式使用它,即
kotlin - Gradle 6.6.1 和 Kotlin 1.4 - 运行时版本冲突
我使用最新的 Gradle (v. 6.6.1) 和最新的 Kotlin (v. 1.4)。
buildSrc
项目定义了所有 Kotlin 版本。不幸的是,它收到以下错误。
buildSrc
项目有以下build.gradle.kts
文件:
正如您在上面的警告中看到的,类路径中有相同的库,但版本不同:
- 使用 gradle 的 1.3 版。
- 来自 kotlin 插件的 1.4 版。
如何解决这个问题?
java - 什么是 java.constructors.single()?
我正在学习 Kotlin 如何评估脚本,我在BasicJvmScriptEvaluator中看到了如下代码:
我不明白代码java.constructors.single()
,没有名为 java.constructors 的包。我应该如何理解这段代码?