我有个坏习惯,就是不擅长把一个抽象的复用库单独写。我喜欢与某些特定的应用实例一起设计,然后再把它们单独提取公开出来。
val fst: Int by index(0) 我开始还以为是 Kotlin 无法推断 fun <T> index(idx: Idx): Index<T> 的类型,后来发现其实自己想当然写了个错误的 getValue 提交了,只不过 IDE 没检查出来我顿悟了!
bytesToIntegral(zero, shl, or, bytes.iterator()) 是内联的,所以它里面的 accumulator = zero 实际上一直指代的是一个只读的参数?