小编Jas*_*ger的帖子

Kotlin reified类型参数没有智能投射

我正在尝试设置未初始化的值,并试图让以下工作.这主要是对具体化仿制药的力量(和局限性)的好奇心.

我试图为数据类的可选参数提供默认值.

inline fun <reified T> uninitialized(): T = when (T::class) {
  Long::class -> -1L // Type mismatch. Required: T  Found: Long
  String::class -> "" // Type mismatch. Required: T  Found: String
  // and so on...
  else -> throw UnsupportedOperationException("No uninitialized value defined for " + T::class)
}

data class Thing(
    var id: Long = uninitialized(),
    var name: String = uninitialized() // and so on...
)
Run Code Online (Sandbox Code Playgroud)

when包括is Type条款时,Kotlin有聪明的铸造.在这个例子中,智能强制转换没有开始,所以这不会编译.

有什么想法来完成类似的事情?

generics inline reification kotlin

7
推荐指数
1
解决办法
1080
查看次数

来自模式为 1 的数组的 Python PIL 位图/png

有史以来第一次使用 PIL(和 numpy)。我试图通过 mode='1' 生成黑白棋盘格图像,但它不起作用。

from PIL import Image
import numpy as np

if __name__ == '__main__':
    g = np.asarray(dtype=np.dtype('uint8'), a=[
        [0, 1, 0, 1, 0, 1, 0, 1, ],
        [1, 0, 1, 0, 1, 0, 1, 0, ],
        [0, 1, 0, 1, 0, 1, 0, 1, ],
        [1, 0, 1, 0, 1, 0, 1, 0, ],
        [0, 1, 0, 1, 0, 1, 0, 1, ],
        [1, 0, 1, 0, 1, 0, 1, 0, ],
        [0, 1, 0, 1, 0, …
Run Code Online (Sandbox Code Playgroud)

python numpy image-processing python-imaging-library

5
推荐指数
1
解决办法
6504
查看次数