2015-12-27 3 views
1

Est-ce que &/ et &% ont été supprimés de Swift 2.0 ou la syntaxe at-elle été modifiée?Est-ce que & & et &% ont été supprimés du langage Swift?

Ce qui suit semble avoir travaillé à Swift 1.2:

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

De l'learn-swift playground

Je l'ai regardé dans la section guide de langue Advanced Operations et je ne vois aucune référence à ces opérations. Je n'arrive pas à trouver les notes de version d'Apple avec une liste détaillée des changements de 1.2 à 2.0.

+0

Il * est * listé dans les notes de version Xcode 6.3: https://developer.apple.com/library/watchos/releasenotes/DeveloperTools/RN-Xcode/Chapters/xc6_release_notes.html: * "Le &/et% opérateurs ont été supprimés, pour simplifier le langage et améliorer la cohérence. "* –

+0

merci, mon erreur ne cherchait pas assez loin! – Ultrasaurus

Répondre

3

Revision history 2015-04-08 entre autres:

  • Mise à jour pour Swift 1.2.

  • Suppression de la division de trop-plein (& /) et le reste de trop-plein (& de%) des opérateurs de Overflow Operators.

semble avoir travaillé jusqu'à inclure Swift 1.1

Le release notes for Xcode 6.3 and Swift 1.2 comprennent

Les opérateurs &/et &% ont été supprimés, pour simplifier la langue et d'améliorer la cohérence. Contrairement aux opérateurs & +, & - et & *, ces opérateurs n'offraient pas de comportement arithmétique à complément à deux; ils ont fourni un comportement de cas particulier pour la division, le reste par zéro et Int.min/-1. Ces tests doivent être écrits explicitement dans le code sous forme de comparaisons si nécessaire. (17926954).

+0

Merci pour les pointeurs vers l'historique des révisions et les notes de version. Je n'avais pas réalisé que les notes de mise à jour de langue Swift feraient partie des notes de mise à jour de XCode. Trop habitué à la partie du monde où le langage de programmation de choix ne détermine pas l'IDE ... sans doute pas strictement vrai pour Apple, mais assez proche. Super, liens informatifs! – Ultrasaurus