Dans Swift 4.1, cela pourrait être réalisé de cette manière:
prefix operator ++
postfix operator ++
extension Int{
static prefix func ++(x: inout Int)->Int{
x += 1
return x
}
static postfix func ++(x: inout Int)->Int{
x += 1
return x-1
}
}
//example:
var t = 5
var s = t++
print("\(t) \(s)")
Notez que malgré le fait que cette solution est similaire aux solutions précédentes de cet article, elles ne fonctionnent plus dans Swift 4.1 et cet exemple fonctionne. Notez également que quiconque ci-dessus mentionne que + = est un remplacement de ++ ne comprend tout simplement pas pleinement l'opérateur car ++ combiné à une affectation est en fait deux opérations, d'où un raccourci. Dans mon exemple:var s = t++
fait deux choses: attribuer la valeur de t à s puis incrémenter t. Si le ++ vient avant, ce sont les deux mêmes opérations effectuées dans l'ordre inverse. À mon avis, le raisonnement d'Apple sur les raisons de supprimer cet opérateur (mentionné dans les réponses précédentes) n'est pas seulement un faux raisonnement, mais en outre, je pense que c'est un mensonge et la vraie raison est qu'ils n'ont pas pu obliger leur compilateur à le gérer. Cela leur a posé des problèmes dans les versions précédentes, alors ils ont abandonné. La logique de «l'opérateur trop compliqué à comprendre, donc supprimé» est évidemment un mensonge car Swift contient des opérateurs bien plus compliqués et beaucoup moins utiles qui n'ont pas été supprimés. En outre, la grande majorité des langages de programmation l'a. JavaScript, C, C #, Java, C ++ et bien d'autres. Les programmeurs l'utilisent avec plaisir. Pour qui il est trop difficile de comprendre cet opérateur,
La stratégie derrière Swift est simple: Apple pense que le programmeur est stupide et doit donc être traité en conséquence.
La vérité est que Swift, lancé en septembre 2014, était censé être ailleurs maintenant. D'autres langues ont grandi beaucoup plus vite.
Je peux énumérer de nombreuses erreurs majeures dans le langage, des plus sérieuses: comme les tableaux collés par valeur et non par référence, aux ennuyeuses: les fonctions de paramètres variadiques ne peuvent pas accepter un tableau qui est l'idée même derrière. Je ne pense pas que les employés d'Apple soient même autorisés à regarder d'autres langages tels que Java, donc ils ne savent même pas qu'Apple est à des années-lumière. Apple aurait pu adopter Java comme langage mais de nos jours, le défi n'est pas la technologie, mais l'ego l'est. S'ils avaient ouvert IntelliJ pour écrire un peu de Java, ils fermeraient à coup sûr leur entreprise en sachant qu'à ce stade, ils ne peuvent et ne rattraperont jamais.