2015-02-03 2 views
2

하스켈 및 Gtk2Hs에 이상한 오류가 있습니다.예상 유형`() '을 실제 유형'Int '와 일치시킬 수 없습니다.

나는 유형

entryCursorPosition :: EntryClass self => ReadAttr self Int 

에 해당

set entree [entryCursorPosition := 5 ] 

으로 텍스트 입력의 커서 위치를 설정하려고 나는 다음과 같은 오류가 있습니다

Couldn't match expected type `()' with actual type `Int' 

할 일을 그게 버그라고 생각하니? 그것을 해결하는 방법을 알고 있습니까?

저는 GHC 7.4.1을 사용하는 데비안 Wheezy에서 Gtk2Hs 0.12.3을 사용하고 있습니다.

좋습니다.

답변

0

실수를했습니다. entryCursorPosition입니다. 읽기 전용은이며, 설정할 수 없습니다.

항목에 커서 위치를 설정하는 올바른 함수이다 :

editableSetPosition entry (-1) 

은 도움이 될 바라고

6

자신이 진술 한대로 entryCursorPositionReadAttr으로 쓰여지지 않습니다. 내부적으로

type ReadAttr o a = ReadWriteAttr o a() 

은 그래서 ReadAttra 및 "쓰기 유형"() "유형을 읽기"가 속성으로 구현됩니다. 이 메시지는 () 대신 Int으로 설정하려고하기 때문에 표시되는 오류 메시지에 대해 설명합니다.

관련 문제