Swift中自定义运算符

Swift中自定义运算符,第1张

概述这里有三个步骤去定义一个自定义 *** 作符: 命名你的运算符 选择一种类型 设置它的优先级和结合性 现在你必须选择一个字符作为你的运算符。自定义运算符可以以/、=、-、+、!、*、%、<、>、&、|、^、~或者Unicode字符开始。这个给了你一个很大的范围去选择你的运算符。但是别太高兴,选择的时候你还必须考虑重复输入的时候更少的键盘键入次数。 由于运算符定义是全局的,所以你要小心的选择你的自定义运算符

这里有三个步骤去定义一个自定义 *** 作符:

命名你的运算符 选择一种类型 设置它的优先级和结合性

现在你必须选择一个字符作为你的运算符。自定义运算符可以以/、=、-、+、!、*、%、<、>、&、|、^、~或者Unicode字符开始。这个给了你一个很大的范围去选择你的运算符。但是别太高兴,选择的时候你还必须考虑重复输入的时候更少的键盘键入次数。

由于运算符定义是全局的,所以你要小心的选择你的自定义运算符的优先级和结合性。

//: Playground - noun: a place where people can playimport UIKitinfix operator +++ {    associativity left precedence 140}func +++(left:[Int],right:[Int]) -> [Int]{    var sum = [Int](count: left.count,repeatedValue: 0)    assert(left.count == right.count,"vector of same length only")    for (key,_) in left.enumerate() {        sum[key] = left[key] + right[key]    }    return sum}print("\([2,3,4] +++ [1,2,3])")

分析:

定义一个中缀/二元 *** 作符,它有两个 *** 作数并且位于 *** 作符两侧 命名 *** 作符为+++ 设置结合性为left,表明该 *** 作符在相同优先级时候,将使用 *** 作符的顺序从左到右结合 设置优先级为140,这个是和Int加法有相同的优先级,这些优先级可以在Expressions查看。 总结

以上是内存溢出为你收集整理的Swift中自定义运算符全部内容,希望文章能够帮你解决Swift中自定义运算符所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1081581.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存