Untuk Swift 4, Anda dapat memulihkan ++
dan --
operator sebagai ekstensi untuk Int
dan jenis lainnya. Berikut ini sebuah contoh:
extension Int{
static prefix func ++(x: inout Int) -> Int {
x += 1
return x
}
static postfix func ++(x: inout Int) -> Int {
defer {x += 1}
return x
}
static prefix func --(x: inout Int) -> Int {
x -= 1
return x
}
static postfix func --(x: inout Int) -> Int {
defer {x -= 1}
return x
}
}
Ia bekerja dengan cara yang sama untuk jenis lain, seperti UIInt
, Int8
, Float
, Double
, dll
Anda dapat menempelkan ekstensi ini dalam satu file di direktori root Anda, dan ekstensi itu akan tersedia untuk digunakan di dalam semua file Anda yang lain di sana.
Saya telah memperhatikan beberapa suara untuk jawaban saya di sini, segera setelah saya mempostingnya. Yang saya anggap sebagai perselisihan filosofis, bukan kritik tentang cara kerja kode saya. Ini berfungsi dengan baik, jika Anda memeriksanya di taman bermain.
Alasan mengapa saya memposting jawaban ini adalah karena saya tidak setuju dengan membuat bahasa pemrograman komputer yang tidak perlu berbeda satu sama lain.
Memiliki banyak kesamaan antar bahasa membuatnya lebih mudah bagi orang untuk belajar dan beralih dari satu bahasa ke bahasa lain.
Pengembang biasanya menggunakan beberapa bahasa pemrograman, bukan hanya satu. Dan sungguh merepotkan untuk beralih dari satu bahasa ke bahasa lain, ketika tidak ada konvensi dan tidak ada standardisasi umum lintas bahasa.
Saya percaya bahwa harus ada perbedaan sintaks antara bahasa hanya sebanyak yang diperlukan, dan tidak lebih dari ini.