我有使用intellij为kotlin 1.2.10配置的最简单的gradle项目.这是我的build.gradle文件:
buildscript {
ext.kotlin_version = '1.2.10'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
group 'com.ali'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'kotlin'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
testCompile group: 'junit', name: 'junit', version: '4.12'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
Run Code Online (Sandbox Code Playgroud)
我有一个简单的java界面:
public interface MyMath {
static int myAbs(int input) {
return Math.abs(input);
}
}
Run Code Online (Sandbox Code Playgroud)
当我导入此接口并尝试调用myAbs方法时,它失败并显示以下错误:
Error:(6, 12) Kotlin: Calls to …Run Code Online (Sandbox Code Playgroud) 我读了捆绑systemjs文档的部分内容,在HTTP/2中不再需要捆绑优化:
在HTTP/2上,这种方法可能更为可取,因为它允许在浏览器中单独缓存文件,这意味着不再需要对包进行优化.
我的问题:
我已经在网上研究过immutablejs的好处,Object.freeze()但没有找到令人满意的东西!
我的问题是,当我可以冻结一个普通的旧javascript对象时,为什么我应该使用这个库并使用非本机数据结构?
我正在阅读有关的MSDN文档object.Equals.在评论部分提到:
如果两个对象不表示相同的对象引用且都不为null,则它调用objA.Equals(objB)并返回结果.这意味着如果objA重写Object.Equals(Object)方法,则调用此覆盖.
我的问题是为什么他们没有实现这一部分,objA.Equals(objB) && objB.Equals(objA)以使平等对称,只关系一方面?调用时可能会导致奇怪的行为object.Equals.
编辑:当objA的类型覆盖Equals方法并将其实现为不可预测的东西时,可能会发生奇怪的行为,但objB的类型不会覆盖Equals.
我是反应/减少的新相对论.因为我想问一个(也许是一个哲学的)问题.
可以在componentDidMount反应组件上调度动作(例如触发api调用)吗?
如果没有,我为什么要在哪里发布行动?
如果是,那么没有其他问题吗?:)
我有vscode 1.9,我希望有智能测试的智能感知.问题是describe,it,expect等都是在开玩笑全局可用,你不需要import他们在您的测试文件.因此vscode不会为它们显示智能感知.
是否有自动类型获取的全局变量的配置?
我正在尝试使用Typescript和jspm来创建一个有角度的应用程序.问题是当你想确保.js加载文件时,在jspm中你必须编写一个导入,并确保在运行代码之前加载文件.但是Typescript删除了我的导入.这是我编写的Typescript代码.我必须加载angular-new-router然后将其添加到我的模块依赖项.
import angular = require('angular');
import MainController = require('./controllers/MainController');
import NgNewRoute = require('angular-new-router');
console.log(angular.version);
var appModule = angular.module('app', ['ngNewRouter']);
MainController.register(appModule);
export = appModule;
Run Code Online (Sandbox Code Playgroud)
我的问题:如何指示Typescript不删除我的import语句,或者我必须做其他事情以确保我的路由器加载?
PS:我用commonjs将我的打字稿代码编译成ES5.
编辑:这个问题与TypeScript不同:导入模块只有语句.我有这个问题与第三方库一起工作,所以我不想改变它们.我也使用commonjs模式,所以amd-dependency不解决我的问题!
编辑2:另一个问题是我的Typescript代码中不能要求js模块以外的文件.
我想读取文件内容并为其内容的每一行发出一个流程。所以,我必须实现一个具有以下签名的函数:
fun InputStream.linesToFlow(): Flow<String>
Run Code Online (Sandbox Code Playgroud)
有什么办法可以实现这个功能吗?
我有一个页面调用另一个页面与一些查询字符串参数.我想在点击按钮后返回该页面.
我必须提到我在用户控件中编写该代码,而我不知道哪个页面称为第二页.
浏览器中是否有类似Back按钮的内容?
我有一些.ts文件中包含.jsx语法.我想告诉tsc编译我的这些.ts文件,如编译.tsx文件.
有可能配置tsc这样做吗?
如何配置vscode以支持这些文件中JSX语法的语法突出显示?
reactjs ×3
c# ×2
javascript ×2
kotlin ×2
typescript ×2
angularjs ×1
asp.net ×1
back ×1
gradle ×1
http2 ×1
immutable.js ×1
jestjs ×1
jspm ×1
kotlin-flow ×1
react-redux ×1
redirect ×1
redux ×1