我有这个问题,我不明白它来自哪里。 代码:
class applicationFrameworksManager =
object(this)
val mutable frameworks = []
method add_framework name = ()(* if not (List.mem name frameworks) then frameworks <- List.append frameworks [name]; *)
method get_frameworks = frameworks
端;;
错误:
Error: Some type variables are unbound in this type:
class applicationFrameworksManager :
object
val mutable frameworks : 'a list
method add_framework : 'b -> unit
method get_frameworks : 'a list
end
The method add_framework has type 'b -> unit where 'b is unbound
make: * [genobjc.cmx]错误2
有人可以帮忙吗?我能绑定什么?谢谢。我会在这个类中添加很多字符串,我想最后只得到唯一的字符串。
答案 0 :(得分:3)
[]
的类型是多态的,因此其类型'a list
包含未绑定的类型变量。如果您只想添加字符串,那么简单的修复就是声明类型:
val mutable frameworks : string list = []
你现在的课程是多态的;即,它可以用于管理任何事物的列表。您可以通过显式为类提供托管元素类型的类型参数来完成此操作。但听起来你不需要那样。