如何处理具有多个字段的返回类型

时间:2016-04-09 14:55:41

标签: ocaml lablgtk

我正在调用一种方法" get_text"在GText.buffer上详细说明http://oandrieu.nerim.net/ocaml/lablgtk/doc/GText.buffer.html

let text = textView#buffer#get_text in

然而,当get_text返回多个值时,当我尝试使用我的变量" text"作为字符串,例如

textView2#buffer#set_text text;

我收到以下错误消息:

Error: This expression has type
     ?start:GText.iter ->
     ?stop:GText.iter -> ?slice:bool -> ?visible:bool -> unit -> string
   but an expression was expected of type string

如何访问方法返回的字符串?一般来说,如何分离方法返回的多个值,以便我可以单独访问和使用它们?

1 个答案:

答案 0 :(得分:2)

我只是查找了你的lablgtk链接 - 看起来你错过了():

let text = textView#buffer#get_text () in ...

这种错误的问题在于你正在使用一个(curried)函数,其中需要一个字符串,并且关于类型错误的消息听起来有点像'#34; long winded"而不是重点。