无法转换类型'(浮动) - >的值FormExpression'到期望的参数类型'(_) - > FormExpression”

时间:2018-06-14 11:43:50

标签: swift closures

indirect enum FormExpression {
   case float(Float)
   case reference(String,Int)
   case infix(FormExpression,String,FormExpression)
   case function(String,FormExpression)
}
extension FormExpression {
    static var floatParser:FormParser<FormExpression> {
        return { FormExpression.float($0) }<^>float
    }
 }

infix operator <^> : SequencePrecedence 
func <^><A,B>(lhs:@escaping(A)->B,rhs:FormParser<A>) -> FormParser<B> { 
    return rhs.map(lhs) 
}

这是我练习闭包和功能Swift的代码。现在它显示

  

错误 - '无法转换类型的值'(Float) - &gt; FormExpression'到   期望参数类型'(_) - &gt; FormExpression ''

。我尝试了几次,仍然不知道该怎么做。我希望有人可以帮助解决它并解释原因。谢谢

1 个答案:

答案 0 :(得分:-1)

我解决了这个问题,但这有点好笑。

  

我刚刚修改了'float'对象的名称,并将'float'更改为'floater'。就是这样。

两个不同命名的对象基本相同,但另一个是错误。 ,我现在认为可能是由Swift中的命名冲突引起的,但我没有能力找到真正的原因,有兴趣和能力的朋友可以试着找出原因