स्विफ्ट 4.1 में इसे इस तरह हासिल किया जा सकता है:
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)")
इस तथ्य के बावजूद कि इस पोस्ट में पिछले समाधानों के समान यह समाधान, वे स्विफ्ट 4.1 में अब काम नहीं करते हैं और यह उदाहरण करता है। यह भी ध्यान दें कि ऊपर दिए गए उल्लेख में कहा गया है कि + = ++ के लिए एक प्रतिस्थापन है बस ऑपरेटर को पूरी तरह से समझ में नहीं आता है क्योंकि ++ असाइनमेंट के साथ संयुक्त है वास्तव में दो ऑपरेशन हैं, इसलिए एक शॉर्टकट। मेरे उदाहरण में:var s = t++
दो चीजें करता है: टी का मान असाइन करें एस और फिर वेतन वृद्धि टी। अगर ++ पहले आता है, तो यह उलटे क्रम में किए गए दो ऑपरेशन हैं। मेरी राय में, इस ऑपरेटर को हटाने के बारे में Apple का तर्क (पिछले उत्तरों में उल्लिखित), न केवल गलत तर्क है, बल्कि इसके अलावा, मेरा मानना है कि यह एक झूठ है और सच्चा कारण यह है कि वे अपने संकलक को संभाल नहीं सकते हैं। इसने उन्हें पिछले संस्करणों में परेशानी दी तो उन्होंने हार मान ली। "ऑपरेटर को समझने के लिए बहुत जटिल, इसलिए हटा दिया गया" का तर्क स्पष्ट रूप से एक झूठ है क्योंकि स्विफ्ट में ऑपरेटर कहीं अधिक जटिल हैं और बहुत कम उपयोगी हैं जिन्हें हटाया नहीं गया था। इसके अलावा, प्रोग्रामिंग भाषाओं के अधिकांश हिस्से में यह है। जावास्क्रिप्ट, सी, सी #, जावा, सी ++ और इतने सारे। प्रोग्रामर खुशी-खुशी इसका इस्तेमाल करते हैं। जिसके लिए इस ऑपरेटर को समझना बहुत मुश्किल है,
स्विफ्ट के पीछे की रणनीति सरल है: एप्पल का मानना है कि प्रोग्रामर गूंगा है और इसलिए उसी के अनुसार व्यवहार किया जाना चाहिए।
सच्चाई यह है कि सितंबर 2014 में लॉन्च हुई स्विफ्ट अब तक कहीं और होनी चाहिए थी। अन्य भाषाएं बहुत तेजी से बढ़ीं।
मैं भाषा में कई गंभीर गलतियों को सूचीबद्ध कर सकता हूं, गंभीर लोगों से: जैसे कि मूल्य के हिसाब से चिपकाने वाले और संदर्भ से नहीं, परेशान करने वालों के लिए: वैरिएड मापदंडों के कार्य एक सरणी को स्वीकार नहीं कर सकते हैं जो इसके पीछे का पूरा विचार है। मुझे नहीं लगता कि Apple के कर्मचारियों को जावा जैसी अन्य भाषाओं को देखने की अनुमति है, ताकि उन्हें यह भी पता न चले कि Apple प्रकाश वर्ष पीछे है। Apple एक भाषा के रूप में जावा को अपना सकता था लेकिन इन दिनों, चुनौती प्रौद्योगिकी नहीं है, लेकिन अहंकार है। यदि वे कुछ जावा लिखने के लिए IntelliJ खोलते हैं, तो वे अपने व्यापार को समझने के लिए सुनिश्चित करेंगे कि इस बिंदु पर, वे कभी भी पकड़ नहीं सकते हैं।