Scala电梯类型不匹配?

时间:2012-01-14 13:06:10

标签: scala lift mismatch

我正在编写一个webapp,我想使用提交表单中的值,但是类型不匹配:

类型不匹配;发现:connectfour.Board =>需要选项[Int] :()=>任何

我的代码如下所示:

var value=0
 "name=value" #> SHtml.onSubmit(s => asInt(s).foreach(value= _)) &
 // when the form is submitted, process the variable
"type=submit" #> SHtml.onSubmitUnit(askForHumanMove)

和我的askForHumanMove方法:

def askForHumanMove(board: connectfour.Board): Option[Int] = {
    Some(value)        
}

希望有人可以帮助我解决这种不匹配问题。

谢谢!

祝你好运, 约翰

1 个答案:

答案 0 :(得分:4)

我认为onSubmitUnit接受() => Any作为参数。但是你传递的方法正被提升为函数Board => Option[Int]。这些类型不兼容。

在调用Board方法时,您是否在范围内有onSubmitUnit的相关实例?如果是这样,修复很简单:

"type=submit" #> SHtml.onSubmitUnit( () => askForHumanMove(board) )