官术网_书友最值得收藏!

Custom operator definition

We can define custom operators using the following syntax:

operatorType operator operatorName { } 

Here, operatorType can be one of the following:

  • prefix
  • infix
  • postfix

Custom infix operators can also specify a precedence and an associativity:

infix operator operatorName { associativity left/right/none precedence} 

The possible values for associativity are left, right, and none. Left-associative operators associate to the left if written next to other left-associative operators of the same precedence. Similarly, right-associative operators associate to the right if written next to other right-associative operators of the same precedence. Non-associative operators cannot be written next to other operators with the same precedence.

The associativity value defaults to none if it is not specified. The precedence value defaults to 100 if it is not specified.

Any custom operator defined with the preceding syntax will not have an existing meaning in Swift; therefore, a function with operatorName as its name should be defined and implemented. In the following section, we will examine an example of custom operator definition with its respective function definition.

主站蜘蛛池模板: 嵊州市| 高雄市| 宁强县| 大安市| 孟津县| 郓城县| 开远市| 方城县| 漳州市| 吉林省| 澄城县| 铅山县| 永善县| 焦作市| 克什克腾旗| 东辽县| 潼关县| 娱乐| 封丘县| 房山区| 新昌县| 祁阳县| 敦煌市| 灯塔市| 砀山县| 商城县| 富宁县| 安丘市| 香格里拉县| 天长市| 梅河口市| 平山县| 宁城县| 于都县| 南丰县| 宁津县| 闽侯县| 东至县| 吉水县| 磐石市| 大兴区|