草庐IT

Kotlin-script

全部标签

java - 有没有办法使用 Gradle 将 Kotlin 类编译为 JavaScript?

我正在使用KotlinGradle插件构建一个项目。一般来说,我的目标是JVM,但将项目的一部分编译为JavaScript会非常有用。我知道项目可以在使用IntellJ插件构建时以JavaScript为目标(如WritingKotlinintheBrowser博客文章中所述),但是如何使用gradle来实现呢?我可以将项目拆分为几个gradle模块。 最佳答案 您需要使用以下插件:applyplugin:"kotlin2js"您还可以指定其他设置:compileKotlin2Js.kotlinOptions.sourceMap=tr

java.lang.VerifyError 使用 kotlin 创建 gradle 任务

我尝试用kotlin编写一个gradle任务,这是我的代码。:GreetingTask.ktclassGreetingTask:DefaultTask(){@TaskActionfungreet(){println("greet!")}}build.gradlebuildscript{repositories{mavenCentral()}dependencies{classpath"org.jetbrains.kotlin:kotlin-gradle-plugin:0.12.613"}}applyplugin:"kotlin"dependencies{compile"org.jetb

java.lang.VerifyError 使用 kotlin 创建 gradle 任务

我尝试用kotlin编写一个gradle任务,这是我的代码。:GreetingTask.ktclassGreetingTask:DefaultTask(){@TaskActionfungreet(){println("greet!")}}build.gradlebuildscript{repositories{mavenCentral()}dependencies{classpath"org.jetbrains.kotlin:kotlin-gradle-plugin:0.12.613"}}applyplugin:"kotlin"dependencies{compile"org.jetb

kotlin - 在父类(super class)型上键入的属性 getter ,而不是在 Kotlin 中的实现

假设我有两个类,一个Base和一个扩展Base的Impl。packagemypackageopenclassBaseclassImpl:Base()我将如何为具体的Impl-Type(供内部使用)创建一个私有(private)属性,并将publicgetter键入为Base-Type,实现多态?我最初的做法是这样的:classTest{privatevalmyType=Impl()get():Base}但是,Kotlin编译器提示:Error:(30,11)Kotlin:Getterreturntypemustbeequaltothetypeoftheproperty,即'mypack

kotlin - 在父类(super class)型上键入的属性 getter ,而不是在 Kotlin 中的实现

假设我有两个类,一个Base和一个扩展Base的Impl。packagemypackageopenclassBaseclassImpl:Base()我将如何为具体的Impl-Type(供内部使用)创建一个私有(private)属性,并将publicgetter键入为Base-Type,实现多态?我最初的做法是这样的:classTest{privatevalmyType=Impl()get():Base}但是,Kotlin编译器提示:Error:(30,11)Kotlin:Getterreturntypemustbeequaltothetypeoftheproperty,即'mypack

lambda - Kotlin 高阶函数和单方法接口(interface)的行为?

我之前在使用RxJava和Kotlin时遇到了一些问题。我做了一些有趣的发现,但我仍然对此感到困惑。RxJava中有简单的Func1接口(interface)publicinterfaceFunc1extendsFunction{Rcall(Tt);}我试图将扩展方法添加到Observable,也是一个RxJava类。这将使用Func1将排放物收集到GoogleGuavaImmutableListMulitmap中以映射每个项目的键。funObservable.toImmutableListMultimap(keyMapper:Func1):Observable>{returnthis

lambda - Kotlin 高阶函数和单方法接口(interface)的行为?

我之前在使用RxJava和Kotlin时遇到了一些问题。我做了一些有趣的发现,但我仍然对此感到困惑。RxJava中有简单的Func1接口(interface)publicinterfaceFunc1extendsFunction{Rcall(Tt);}我试图将扩展方法添加到Observable,也是一个RxJava类。这将使用Func1将排放物收集到GoogleGuavaImmutableListMulitmap中以映射每个项目的键。funObservable.toImmutableListMultimap(keyMapper:Func1):Observable>{returnthis

kotlin - 为什么引用不同时引用相等检查返回true

考虑这段代码:funmain(args:Array){println("Async"==MetricCategory.Async.toString())println("Async"===MetricCategory.Async.toString())}输出truetrue在我期待的时候truefalse为什么要为第二次检查打印true,因为两个引用不同 最佳答案 引用相等不是变量名相同,或者访问方式相同,而是内存中的位置相同。由于字符串是不可变的,因此编译器通常能够为它们提前预留内存,并将对同一值的所有引用指向同一位置。不变性很重

kotlin - 为什么引用不同时引用相等检查返回true

考虑这段代码:funmain(args:Array){println("Async"==MetricCategory.Async.toString())println("Async"===MetricCategory.Async.toString())}输出truetrue在我期待的时候truefalse为什么要为第二次检查打印true,因为两个引用不同 最佳答案 引用相等不是变量名相同,或者访问方式相同,而是内存中的位置相同。由于字符串是不可变的,因此编译器通常能够为它们提前预留内存,并将对同一值的所有引用指向同一位置。不变性很重

kotlin - 我有一个 Vertx 请求,我需要计算一个外部可见(公共(public))URL

我在Kotlin中使用Vertx3,有时我需要从公共(public)URL的角度返回一个特定的URI,这与Vertx-web请求认为我的URL不同。这可能是因为我的负载均衡器或代理接收到一个URL,然后通过内部URL转发到我的应用程序。如果我这样做:valpublicUrl=context.request().absoluteURI()我最终得到一个类似http://10.10.103.22:8080/some/page的URL,而不是https://app.mydomain.com/some/page。该URL的一切都错了!我发现了一个header,据说可以告诉我更多关于原始请求的信