当前位置 : 主页 > 手机开发 > 其它 >

在swift中不能超载“.”运算符

来源:互联网 收集:自由互联 发布时间:2021-06-11
即使快速文档说我们可以超载.如果没有编译器抱怨,我似乎无法这样做. 这是我正在做的事情: 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的语法部分看到的更多限制了,因为你可以创建扩展静音运算符……,但不是快乐运算符^.^.)

(按照这种方式考虑一下:如果你试图使用.来定义两个向量的点积,你就很难用它来解决那些向量的成员.)

网友评论