2015-12-27 4 views
1

У &/ и &% были удалены из Swift 2.0 или был изменен синтаксис?Были ли & & и% удалены из языка Swift?

Далее, кажется, работает в Swift 1.2:

var divByZero: Int8 = 100 &/ aZero 
var remainderDivByZero: Int8 = 100 &% aZero 

Из learn-swift playground

Я смотрел в руководстве языка Advanced Operations секции, и я не вижу каких-либо ссылок на эти операции. Я не могу найти заметки о выпуске от Apple с подробным перечнем изменений с 1.2 до 2.0.

+0

Это * будет * перечислены в примечаниях к выпуску Xcode 6.3: https://developer.apple.com/library/watchos/releasenotes/DeveloperTools/RN-Xcode/Chapters/xc6_release_notes.html: * "The &/и &% операторов были удалены, чтобы упростить язык и улучшить согласованность ». * –

+0

спасибо, моя ошибка не выглядела достаточно далеко назад! – Ultrasaurus

ответ

3

Revision history 2015-04-08 среди прочего:

  • Обновление для Swift 1.2.

  • Удалены разделение переполнения (& /) и переполнения остаток (%) & операторы из Overflow Operators.

Кажется не работал до тех пор, в том числе Swift 1.1

release notes for Xcode 6.3 and Swift 1.2 включает

В &/и &% операторы были удалены, чтобы упростить язык и улучшить консистенцию. В отличие от операторов & +, & - и & * эти операторы не обеспечивали арифметическое поведение в два раза; они обеспечивали особый случай поведения для деления, остатка на ноль и Int.min/-1. Эти тесты должны быть явно написаны в коде как сравнение при необходимости. (17926954).

+0

Спасибо за указатели на историю изменений и примечания к выпуску. Я не понял, что заметки о выпуске Swift будут включены в примечания к выпуску XCode. Слишком привык к той части мира, где выбор языка программирования не определяет IDE ... возможно, не совсем верно для Apple, но достаточно близко. Отличные, информативные ссылки! – Ultrasaurus

Смежные вопросы