Forwarded from Deleted Account
退一万步讲,Java 里 == 是引用相等性(对于 Kotlin 就是三等号 === 了),所以为了语义明确, (s == "") 必须被写成 s.equals("") 或者 s.length() == 0
开心一点你甚至可以写成 "".equals(s)
两种形式。如果你的项目里同时出现了这两种形式(实现的是一个目标),会给以后的维护造成麻烦,不如都统一了好。
开心一点你甚至可以写成 "".equals(s)
两种形式。如果你的项目里同时出现了这两种形式(实现的是一个目标),会给以后的维护造成麻烦,不如都统一了好。
Forwarded from Deleted Account
https://github.com/silmeth/jsonParser/blob/master/src/main/kotlin/com/github/silmeth/json/SimpleJsonGrammar.kt#L50
这个可以,足够暴力
作者真的是连一点性能考虑都不顾了么……
作者是一个前端么……
这个可以,足够暴力
作者真的是连一点性能考虑都不顾了么……
作者是一个前端么……
项目的主页,就用 Literate Kotlin 来写好了
https://duangsuse-valid-projects.github.io/Java-You-Dont-Know/ 这种格式
那个图的下面
build·version·examples·comparasion
文章直接给 Gradle 的依赖配置
然后开始整体文档
https://duangsuse-valid-projects.github.io/Java-You-Dont-Know/ 这种格式
那个图的下面
build·version·examples·comparasion
文章直接给 Gradle 的依赖配置
然后开始整体文档
You Dont Know Java
Java You-Dont-Know你不知道的 Java
🐮☕️ 你没见过的 Java 语法(至 Java 8)
/tmp/duangsuse.sock
项目的主页,就用 Literate Kotlin 来写好了 https://duangsuse-valid-projects.github.io/Java-You-Dont-Know/ 这种格式 那个图的下面 build·version·examples·comparasion 文章直接给 Gradle 的依赖配置 然后开始整体文档
项目总体分成 base, parserkt, ext 三个部分
其中复用性高的部分做成 base
ext 则包含 NumUnit 和 LayoutPattern
其中复用性高的部分做成 base
ext 则包含 NumUnit 和 LayoutPattern
https://github.com/ParserKt/ParserKt
啊,JitPack 总算配置好了
唯一不好的就是我有 parserkt-util, parserkt-ext 两个 subproject,它只能构建完最大的那个 project……
啊,JitPack 总算配置好了
唯一不好的就是我有 parserkt-util, parserkt-ext 两个 subproject,它只能构建完最大的那个 project……
GitHub
ParserKt/ParserKt
Naive one-pass recursive descent, scannerless parser framework for Kotlin - ParserKt/ParserKt
/tmp/duangsuse.sock
https://github.com/ParserKt/ParserKt 啊,JitPack 总算配置好了 唯一不好的就是我有 parserkt-util, parserkt-ext 两个 subproject,它只能构建完最大的那个 project……
如果要沿用项目结构,必然得 把 ext 放在 ParserKt/ParserKt 之外的 repo 里…… 真是无可言表
或者,可以利用 gradle 加点私货,可我不知道怎么加
或者,可以利用 gradle 加点私货,可我不知道怎么加
https://github.com/LanguageAsGarbage/muridesu-lang/blob/master/muridesu/helper.py#L141
Python 的 lambda lifting
我不知道函数式里啥是 lifting,但这里 lifting 是把 lambda expr 给变成 def 局部函数。
Python 的 lambda lifting
我不知道函数式里啥是 lifting,但这里 lifting 是把 lambda expr 给变成 def 局部函数。
def visit_Lift(self, node: Lift):
self.generic_visit(node)
lam = node.lam
n = "lambda.{}".format(self.cnt)
self.cnt += 1
defun = ast.FunctionDef(n, lam.args, lam.body, [], None)
ast.copy_location(defun, node)
self.lifted.append(defun)
name = ast.Name(n)
ast.copy_location(name, node)
return nameGitHub
LanguageAsGarbage/muridesu-lang
听说有人用Python壳子的语言骗经费? 过来挨打? Contribute to LanguageAsGarbage/muridesu-lang development by creating an account on GitHub.
def copyKotlinJsStdlib() { copy {
includeEmptyDirs = false
from buildDir
into "${projectDir}/build/js"
include { it.path.matches(/META-INF\/resources\/.*\.js/) }
} }
build.doLast { copyKotlinJsStdlib() }
又删了一个网上实践,因为没用。 #gradle我真的是对 WebPack 无语了,就想把两个需要 Kotlin.js 的 lib.js 打包成一个带接口的 js
结果不论怎么弄两个子模块都只有一个的接口可以访问,entry point 还有莫名其妙的 bug,花费了我半个上午又一个下午的时间,无聊
结果不论怎么弄两个子模块都只有一个的接口可以访问,entry point 还有莫名其妙的 bug,花费了我半个上午又一个下午的时间,无聊
const path = require('path');
const moduleConfig = {
libraryTarget: "this"
};
module.exports = {
entry: "./parserkt.js",
output: {
path: path.resolve(__dirname, "build/js"),
filename: "ParserKt.js",
...moduleConfig
},
mode: "development"
};
///package.json{
"name": "parserkt",
"version": "0.1.0",
"license": "MIT",
"repository": "github:ParserKt/ParserKt",
"module": "parserkt.js",
"dependencies": {
"kotlin": "^1.3.0",
"parserkt-util": "file:parserkt-util"
}
} //parserkt-uil/package.json
{
"name": "parserkt-util",
"module": "build/js/parserkt-util.js"
}Forwarded from Deleted Account
个人感觉 Kotlin playground 可能不能直接支持 Kotlin/JS 的库子,有点害怕
需要有一个 online code editor&runner,而且还能加载一个 Kotlin Multiplatform 的库
需要有一个 online code editor&runner,而且还能加载一个 Kotlin Multiplatform 的库