相关疑难解决方法(0)

我可以使用Java Scripting API将kotlin作为脚本运行

我想用Java脚本运行kotlin代码作为脚本,Java脚本API类似于javascript:

import javax.script.*;
public class EvalScript {
    public static void main(String[] args) throws Exception {
        // create a script engine manager
        ScriptEngineManager factory = new ScriptEngineManager();
        // create a JavaScript engine
        ScriptEngine engine = factory.getEngineByName("JavaScript");
        // evaluate JavaScript code from String
        engine.eval("print('Hello, World')");
    }
}
Run Code Online (Sandbox Code Playgroud)

或者像这样的类似API.

java scripting kotlin

5
推荐指数
1
解决办法
2225
查看次数

Kotlin 脚本文件中仅部分语法突出显示

我在 Android Studio 中打开了一个文件夹,其中包含一个 Kotlin 脚本文件 ( .kts)。我在项目结构中配置了 JDK 作为 SDK(但我没有添加 gradle 文件),并且作为 Kotlin 脚本运行该文件工作正常。然而,语法突出显示仅部分有效,请参阅下面的示例(Linux Mint 19.3 和 AS 4.1.3):

在此输入图像描述

一些缺失的东西:

  • 未使用的变量应为灰色 ( val unused)
  • to/forEach关键字应为黄色斜体
  • 拼写错误的变量名应该是红色的
  • 不好的风格,例如多余的空格,应该加下划线
  • ETC。

这里究竟发生了什么事?这是某种“后备”模式吗?

有什么方法可以使用普通 Android 项目的“完整”语法突出显示,以便我可以更早地发现错误吗?

作为参考,它“应该”是这样的(粘贴到随机的 Android 项目中):

在此输入图像描述

kotlin android-studio

4
推荐指数
1
解决办法
1263
查看次数

Kotlin在Java代码中的集成?

示例: 在C代码中,可以调用汇编代码的一部分,例如:

int main()
{
   //... stuff
   __asm
   {
      lea ebx, hal
      mov ecx, [ebx]hal.same_name ;
      mov esi, [ebx].weasel       ;
   }
   // .. further stuff
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

Java(*.java)文件中的Kotlin代码是否可以进行这样的代码集成?

(我不是在谈论Java中的JNI或C/C++!)我想用Kotlin语言扩展已经存在的(AndroidStudio-)Java-Source-Code.

//.. this is *.java file
public class MyAlreadyExistingJavaClass {

private int memberVar;

public MyAlreadyExistingJavaClass()
{

}

// this is Kotlin within *.java file
// extend this Java file with this constuctor in KOTLIN ?
// would make above default constructor unneccessary.
class MyAlreadyExistingJavaClass(number: Int = 0)
{
  memberVar = number; …
Run Code Online (Sandbox Code Playgroud)

java android kotlin kotlin-android-extensions

0
推荐指数
1
解决办法
270
查看次数