Julia 具有用户定义类型的参数化类型
假设我有一个参数化类型:Julia 具有用户定义类型的参数化类型,julia,Julia,假设我有一个参数化类型: type MyType{T} var1 end 在大多数情况下,T是一个简单的整数,这没有问题。但是,有时T是单例类型的实例,如: type Joker end 因此,我想实例化MyType{Joker()}(4),但我有以下错误消息: ERROR: type: apply_type: in MyType, expected Type{T<:Top}, got Joker 错误:type:apply\u type:在MyType中,预期的类型{T回
type MyType{T}
var1
end
在大多数情况下,T是一个简单的整数,这没有问题。但是,有时T是单例类型的实例,如:
type Joker end
因此,我想实例化MyType{Joker()}(4)
,但我有以下错误消息:
ERROR: type: apply_type: in MyType, expected Type{T<:Top}, got Joker
错误:type:apply\u type:在MyType中,预期的类型{T回答这里:
有两种解决方案:
- 使用类型Joker而不是实例Joker():
MyType{Joker}(3)
- 或者使小丑类型不可变
不可变小丑结束
然后使用MyType{Joker()}(3)
由于Joker
类型中没有字段,因此我认为第一个字段更实用