加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 04:34:41 所属栏目:百科 来源:网络整理
导读:即使快速文档说我们可以超载.如果没有编译器抱怨,我似乎无法这样做. 这是我正在做的事情: operator infix . {}@infix func . (left:Vector2D,right:Vector2D) - Vector2D { //func} 有没有人成功地在swift中做到这一点? 解决方法 你可以使用.字符 in a cus
即使快速文档说我们可以超载.如果没有编译器抱怨,我似乎无法这样做.

这是我正在做的事情:

operator infix . {}

@infix func . (left:Vector2D,right:Vector2D) -> Vector2D {
  //func
}

有没有人成功地在swift中做到这一点?

解决方法

你可以使用.字符 in a custom operator,但你不能创建一个运算符.单独的角色 – 看起来这个标记是语法的一个更基本的部分. (实际上,看起来比你在 language guide的语法部分看到的更多限制了,因为你可以创建扩展静音运算符……,但不是快乐运算符^.^.)

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读