即使快速文档说我们可以超载.如果没有编译器抱怨,我似乎无法这样做. 这是我正在做的事情: operator infix . {}@infix func . (left:Vector2D, right:Vector2D) - Vector2D { //func} 有没有人成功地在swift中
这是我正在做的事情:
operator infix . {} @infix func . (left:Vector2D, right:Vector2D) -> Vector2D { //func }
有没有人成功地在swift中做到这一点?
你可以使用.字符 in a custom operator,但你不能创建一个运算符.单独的角色 – 看起来这个标记是语法的一个更基本的部分. (实际上,看起来比你在 language guide的语法部分看到的更多限制了,因为你可以创建扩展静音运算符……,但不是快乐运算符^.^.)(按照这种方式考虑一下:如果你试图使用.来定义两个向量的点积,你就很难用它来解决那些向量的成员.)