简单地探索Swift,在Observable模式的通过仪式的背景下.我想要探索的是为了语法糖而实现前缀运算符.
class Observable{ var value:T init(_ v:T) { value = v } } postfix operator &* { } postfix func &* (arg:Observable ) -> T { return arg.value }
但是,编译器告诉我的-> T
是use of an undeclared type
.通用版真的不能用作返回类型吗?这里还有别的东西吗?
你只需要使函数通用:
postfix func &*(arg:Observable ) -> T {...}
正如你所写的那样,它T
本身应该是一个类型,而不是一个类型参数.