abcdefg12345
Poster asal- 10 Jul 2013
- 21 Okt 2017
pantas 4
Kod: |_+_|
Saya menggunakan rentetan pembolehubah kerana saya memerlukannya menjadi rentetan supaya saya boleh memformatnya kemudian, saya mentakrifkannya sebagai
Kod: |_+_|
abcdefg12345
Poster asal- 10 Jul 2013
- 21 Okt 2017
Kod: |_+_|
0002378
Digantung
- 28 Mei 2017
- 23 Okt 2017
Dan, walaupun pilihan mempunyai faedahnya, ia juga membuatkan saya mahu menghancurkan komputer saya ke tepi atas tempat sampah.
Walau bagaimanapun, di mana Swift benar-benar menendang keldai adalah di jabatan penutupan ... oh yeah! Java mempunyai mereka juga, sekarang, tetapi ...
Dan, sudah tentu, hakikat bahawa Swift kurang ketat dalam pengisytiharan jenis dan koma bertitik yang menjengkelkan itu ... hebat!
tindak balas:abcdefg12345
0002378
Digantung
- 28 Mei 2017
- 24 Okt 2017
Anda tidak memerlukan pembolehubah baharu. Anda hanya boleh menambah '!' ke Double(rentetan) anda, dan ia akan berfungsi.
Saya rasa saya salah tentang Swift yang bodoh dalam kes ini. Tetapi, saya telah menemui banyak kes aduan pengkompil sedemikian (tidak dapat membandingkan dua jenis berangka yang berbeza).
Greene
- 15 Jul 2015
- Fort Worth
- 24 Okt 2017
Atau anda boleh menggunakan pengikatan pilihan untuk membuka balutan nilai. Saya akan mencuba salah satu kaedah ini terlebih dahulu sebelum menggunakan pembuka paksa
gnasher729
Digantung
- 25 Nov 2005
- 24 Okt 2017
maculateConception berkata: Saya fikir Swift, sebagai bahasa, agak menggelikan pada masa-masa, esp. datang dari pengaturcaraan Java. Dan, anda mengemukakan salah satu contoh terbaik tentang itu.Itu agak tidak faham. Masalahnya ialah OP tidak tahu tentang ciri asas Swift, iaitu nilai pilihan. Pembina Double(String) jelas boleh gagal jika String tidak mengandungi nombor. Itulah sebabnya Double (String) tidak dan tidak boleh menghasilkan hasil jenis Double, tetapi salah satu jenis Double? , iaitu Double pilihan. Dan Double pilihan tidak boleh dibandingkan dengan Int.
'Penyelesaian' anda benar-benar mengerikan. The ! bermakna 'Saya pasti penukaran ini akan berjaya. Jika tidak, sila ranapkan apl itu'. biarkan d = Ganda ('1234x')! hanya akan terhempas. Sengaja. Kerana anda tidak menyemak sifar, dan ia adalah sifar.
Cara yang betul ialah menyemak ralat. Sebagai contoh
jika biarkan d = Ganda (Nilai Saya), d > 10 {
// MyValue mengandungi nombor, dan nombornya ialah > 10.
} lain {
// MyValue tidak mengandungi nombor atau nombor itu adalah<= 10.
}
Jika anda fikir ia berbaloi untuk menulis kod yang selamat dan benar-benar berfungsi, maka Swift ialah bahasa yang betul.
0002378
Digantung
- 28 Mei 2017
- 24 Okt 2017
gnasher729 berkata: Itu tidak tahu apa-apa. Masalahnya ialah OP tidak tahu tentang ciri asas Swift, iaitu nilai pilihan. Pembina Double(String) jelas boleh gagal jika String tidak mengandungi nombor. Itulah sebabnya Double (String) tidak dan tidak boleh menghasilkan hasil jenis Double, tetapi salah satu jenis Double? , iaitu Double pilihan. Dan Double pilihan tidak boleh dibandingkan dengan Int.
Adakah anda dibuli di sekolah? Anda nampaknya mempunyai harga diri yang agak rendah kerana anda tidak dapat bertindak balas tanpa menyerang saya.
Ini akan menjadi komunikasi pertama dan terakhir saya kepada anda. Cadangan kepada anda - cuba berkomunikasi dengan cara yang lebih sivil, dan kehidupan akan menjadi hebat. Jaga diri.
Greene
- 15 Jul 2015
- Fort Worth
- 25 Okt 2017
gnasher729 berkata: Cara yang betul ialah menyemak ralat. Sebagai contoh
jika biarkan d = Ganda (Nilai Saya), d > 10 {
// MyValue mengandungi nombor, dan nombornya ialah > 10.
} lain {
// MyValue tidak mengandungi nombor atau nombor itu adalah<= 10.
}
Ini tidak jelas - bagaimana jika nilainya<= 10 should produce different results from the value being nil? To be fair, the OP's post is ambiguous as they were forcing the unwrap, meaning a nil value would crash. However in most business cases, a nil value would be handled differently (safely) from an insufficient value.
Cara yang lebih bersih ialah:
Kod: |_+_|
Walaupun, saya benar-benar berpendapat bahawa MyValue harus disimpan sebagai Double dari awal, dan NumberFormatter dilaksanakan kemudian untuk mengendalikan apa sahaja pemformatan yang diperlukan. Itu mempunyai beban kognitif yang jauh lebih rendah bagi sesiapa yang akhirnya membaca kod itu.
gnasher729
Digantung
- 25 Nov 2005
- 26 Okt 2017
maculateConception berkata: Adakah anda dibuli di sekolah? Anda nampaknya mempunyai harga diri yang agak rendah kerana anda tidak dapat bertindak balas tanpa menyerang saya.
Ini akan menjadi komunikasi pertama dan terakhir saya kepada anda. Cadangan kepada anda - cuba berkomunikasi dengan cara yang lebih sivil, dan kehidupan akan menjadi hebat. Jaga diri.
Baiklah, saya tidak menyerang awak. Saya menyerang siaran anda, yang menunjukkan bahawa anda mengetahui sangat sedikit tentang Swift, dan memasukkan satu pengesyoran yang sangat berbahaya. S
SAIRUS
kepada
- 21 Ogos 2008
- 26 Okt 2017
masukkan
- 14 Apr 2018
- 14 Apr 2018
1) '!' anda boleh menunjukkan bahawa nilai ini akan menjadi int tepat dengan menambahkan tanda.
Kod: |_+_| 2) Anda boleh menentukan jenis apabila menentukan nilai.
Kod: |_+_| KEPADA
atmentprises
- 28 Jan 2006
- 27 Apr 2018
ynstek berkata: Swift, tidak pasti nilai anda betul-betul int. Terdapat dua pilihan untuk memastikan.
1) '!' anda boleh menunjukkan bahawa nilai ini akan menjadi int tepat dengan menambahkan tanda.
Kod: |_+_| 2) Anda boleh menentukan jenis apabila menentukan nilai.
Kod: |_+_|
Saya rasa contoh #2 anda akan gagal kerana anda cuba memberikan rentetan hantaran kepada gandaan kepada pembolehubah Int. Selain itu, anda menganggap MyValue bukan nol, yang boleh menyebabkan ralat masa jalan sekiranya tiada atau bukan angka.
Penjelasan contoh #1 anda juga tidak betul. Tanda seru tidak menukar nilai kepada Int. Ia membuka balutan nilai pembolehubah pilihan. Dalam contoh anda, anda akan mendapat nilai Berganda, bukan Int dan hanya jika MyValue bukan nilai nol atau bukan angka.
Jawatan Popular