1

我有这个问题,我不明白它来自哪里。代码:

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

制作:* [genobjc.cmx] 错误 2

有人可以帮忙吗?我可以绑定什么?谢谢。我会在这个类中添加很多字符串,最后我只想得到唯一的字符串。

4

1 回答 1

3

的类型[]是多态的,因此它的类型'a list包含一个未绑定的类型变量。如果您只想添加字符串,简单的解决方法是声明类型:

val mutable frameworks : string list = []

你的类是多态的;即,它可以用来管理任何东西的列表。您可以通过显式地为类提供托管元素类型的类型参数来做到这一点。但听起来你不需要那个。

于 2012-10-17T15:01:46.363 回答