Forwarded from Deleted Account
Forwarded from 巅峰 白
尽量写无副作用函数
同样功能写第二次时 重构第一次成helper(但是人多时不太适用,除非pair prog或有强的review)
同样功能写第二次时 重构第一次成helper(但是人多时不太适用,除非pair prog或有强的review)
Forwarded from Deleted Account
Kotlin 的 type nullability 彻底完成了一次化腐朽为神奇,为此,牺牲 ? : 这种复杂易滥用的文法是值得的。
为 90% 的 case 优化并且重视明确性,这是语言设计应该重视的思想。
为 90% 的 case 优化并且重视明确性,这是语言设计应该重视的思想。
Forwarded from Deleted Account
https://youtrack.jetbrains.com/issue/KT-5823#focus=streamItem-27-2403678.0-0
所以我举个实实在在的“滥用”例子
我以为 ternary 一直是在替换 if (p) a = 1 else a = 2 为 a = p? 1 : 2 的,但说实话作为一个条件化表达式,它根本没必要被过度使用。
但现在你们可以看到,这里有一个能够抽提为 String? 的扩展 val 定义的东西了,可以想象写出这样例子的人代码质量会有多糟心。
? : 不值得被 miss,至少不值得为此毁掉 "Kotlin way"。
所以我举个实实在在的“滥用”例子
我以为 ternary 一直是在替换 if (p) a = 1 else a = 2 为 a = p? 1 : 2 的,但说实话作为一个条件化表达式,它根本没必要被过度使用。
但现在你们可以看到,这里有一个能够抽提为 String? 的扩展 val 定义的东西了,可以想象写出这样例子的人代码质量会有多糟心。
? : 不值得被 miss,至少不值得为此毁掉 "Kotlin way"。
Forwarded from Deleted Account
Telegram
/tmp/duangsuse.sock
https://blogs.oracle.com/javamagazine/java-14-arrives-with-a-host-of-new-features
Forwarded from Deleted Account
最后我说一句,不用去了 ☺️
https://youtrack.jetbrains.com/issue/KT-5823#focus=streamItem-27-803740.0-0
因为 Kotlin 的主创 Andrey Breslav 对此态度并不积极
“We'd need to drop ":" to do this, and will be using ":" in two very different meaning in the same language”
https://youtrack.jetbrains.com/issue/KT-5823#focus=streamItem-27-803740.0-0
因为 Kotlin 的主创 Andrey Breslav 对此态度并不积极
“We'd need to drop ":" to do this, and will be using ":" in two very different meaning in the same language”
Forwarded from 层叠 - The Cascading
有用户在 Ethernum 发起了 tx=0xf3691...7c3e6 的交易来保存《发哨子的人》。
(点击 "Click to see More" -> "View Input As" -> "UTF-8" 查看。)
这倒不是以太坊第一次作为存档媒介了。比 archive.org 稍贵一点就是了...(此次交易代价约 $0.23。)
(点击 "Click to see More" -> "View Input As" -> "UTF-8" 查看。)
这倒不是以太坊第一次作为存档媒介了。比 archive.org 稍贵一点就是了...(此次交易代价约 $0.23。)
Ethereum (ETH) Blockchain Explorer
Ethereum Transaction Hash: 0xf3691b0ab1... | Etherscan
IDM: 发哨子的人 2019年12月30日,艾芬曾拿到过一份不明肺炎病人的病毒检测报告,... | Success | Mar-11-2020 07:32:51 AM (UTC)
🤔field 是不存在的,底层实习细节
final 是不存在的,因为它的表义被合并进各种关键字元素本身里了
类/架构器/属性/方法 变成了
物/造与/名词/动词
可变的量在绝句里受到了很大限制,它的类型必须显示写出
物 造于/量 取者 变 置者 常/事
覆写/开放/终定
抽象/实现
储物 例物 况物 标物
内物 扩物
🤔还能怎么简化呢……
final 是不存在的,因为它的表义被合并进各种关键字元素本身里了
类/架构器/属性/方法 变成了
物/造与/名词/动词
可变的量在绝句里受到了很大限制,它的类型必须显示写出
物 造于/量 取者 变 置者 常/事
覆写/开放/终定
抽象/实现
储物 例物 况物 标物
内物 扩物
🤔还能怎么简化呢……
parserkt-util
SSTFFI
Sized
Slice: Sized get(Idx) get(IdxRange)
Tuple (Tuple2/3 TupleAlloc TypedTuple tupleOf) (DynamicTuple anyTupleOf getAs indexAs)
Fold (asConstant asString asList asFlattenString asFlattenList)
Feed SliceFeed StreamFeed
Input CharInput
inputOf(text, file) inputOf(vararg items)
inputOf(iterable) inputOf(iterator)
ReaderFeed
inputOf(reader, file)
SSTFFI
Sized
Slice: Sized get(Idx) get(IdxRange)
Tuple (Tuple2/3 TupleAlloc TypedTuple tupleOf) (DynamicTuple anyTupleOf getAs indexAs)
Fold (asConstant asString asList asFlattenString asFlattenList)
Feed SliceFeed StreamFeed
Input CharInput
inputOf(text, file) inputOf(vararg items)
inputOf(iterable) inputOf(iterator)
ReaderFeed
inputOf(reader, file)
parserkt
PWOC
Pattern PatternWrapper (SatisfyPatternWrapper wrap)
OptionalPattern ConstantPattern
(item defaultValue constant)
toDefault toConstant
parserkt.pat
SDRIES
Seq Decide
Repeat (InBounds Many)
item elementIn satisfy
CCDPAC
Convert (force typed)
Contextual
Deferred
Piped (ensure)
AlsoDo
Clam
mergeFirst/Second
discardFirst/Second
flatten
parserkt.pat.complex
SJIT
SurroundBy (prefix suffix)
BaseJoinBy JoinBy
InfixPattern
TriePattern
PWOC
Pattern PatternWrapper (SatisfyPatternWrapper wrap)
OptionalPattern ConstantPattern
(item defaultValue constant)
toDefault toConstant
parserkt.pat
SDRIES
Seq Decide
Repeat (InBounds Many)
item elementIn satisfy
CCDPAC
Convert (force typed)
Contextual
Deferred
Piped (ensure)
AlsoDo
Clam
mergeFirst/Second
discardFirst/Second
flatten
parserkt.pat.complex
SJIT
SurroundBy (prefix suffix)
BaseJoinBy JoinBy
InfixPattern
TriePattern
Forwarded from Yuuta 🎀 | clrd enroute
Telegram
药丸邮报