abcdefg12345
Oriģinālais plakāts- 2013. gada 10. jūlijs
- 2017. gada 21. oktobris
ātrs 4
Kods: |_+_|
es izmantoju mainīgo virkni, jo man tai ir jābūt virknei, lai es varētu to vēlāk formatēt, es to definēju kā
Kods: |_+_|
abcdefg12345
Oriģinālais plakāts- 2013. gada 10. jūlijs
- 2017. gada 21. oktobris
Kods: |_+_|
0002378
Apturēts
- 2017. gada 28. maijs
- 2017. gada 23. oktobris
Un, lai gan izvēles iespējām ir savas priekšrocības, tās arī liek man sasist datoru pret atkritumu tvertnes augšējām malām.
Tomēr, kur Svifta patiešām spārda, atrodas slēgšanas departamentā... ak, jā! Tagad tādas ir arī Javai, bet...
Un, protams, tas, ka Svifta ir mazāk stingra tipu deklarācijā, un tie nepatīkamie semikoli... lieliski!
Reakcijas:abcdefg12345
0002378
Apturēts
- 2017. gada 28. maijs
- 2017. gada 24. oktobris
Jums nav nepieciešams jauns mainīgais. Jūs varat vienkārši pievienot '!' uz savu Double(string), un tas darbosies.
Man šķiet, ka es kļūdījos, ka Svifta šajā gadījumā ir stulba. Taču esmu sastapies ar daudziem šādu kompilatoru sūdzību gadījumiem (nevar salīdzināt divus dažādus skaitļu veidus).
Grīns
- 2015. gada 15. jūlijs
- Fortvērta
- 2017. gada 24. oktobris
Vai arī varat izmantot neobligāto saistīšanu, lai atšifrētu vērtību. Pirms piespiedu attīšanas es izmēģinātu kādu no šīm metodēm
gnasher729
Apturēts
- 2005. gada 25. novembris
- 2017. gada 24. oktobris
maculateConception teica: Es domāju, ka Svifta kā valoda dažreiz ir diezgan smieklīga, it īpaši. nāk no Java programmēšanas. Un jūs izvirzījāt vienu no labākajiem piemēriem.Tas ir diezgan bezjēdzīgi. Problēma ir tā, ka OP nezina par Swift pamatfunkciju, kas ir izvēles vērtības. Konstruktors Double(String) acīmredzami var neizdoties, ja virknē nav skaitļa. Tāpēc Double (String) nerada un nevar radīt Double tipa rezultātu, bet gan tādu, kas ir Double? , tas ir neobligāts Double. Un izvēles Double nevar salīdzināt ar Int.
Tavs 'risinājums' ir patiešām šausmīgs. ! nozīmē 'Esmu pārliecināts, ka šī konversija būs veiksmīga'. Ja tā nenotiek, lūdzu, avarējiet lietotni. lai d = dubultā ('1234x')! vienkārši sabruks. Apzināti. Jo jūs nepārbaudījāt nulli, un tas bija nulle.
Pareizais veids ir kļūdu pārbaude. Piemēram
ja d = dubultā (mana vērtība), d > 10 {
// MyValue saturēja skaitli, un skaitlis ir > 10.
} cits {
// MyValue nesaturēja skaitli, vai arī numurs bija<= 10.
}
Ja uzskatāt, ka ir vērts rakstīt kodu, kas ir drošs un faktiski darbojas, tad Swift ir īstā valoda.
0002378
Apturēts
- 2017. gada 28. maijs
- 2017. gada 24. oktobris
gnasher729 teica: Tas ir diezgan bezjēdzīgi. Problēma ir tā, ka OP nezina par Swift pamatfunkciju, kas ir izvēles vērtības. Konstruktors Double(String) acīmredzami var neizdoties, ja virknē nav skaitļa. Tāpēc Double (String) nerada un nevar radīt Double tipa rezultātu, bet gan tādu, kas ir Double? , tas ir neobligāts Double. Un izvēles Double nevar salīdzināt ar Int.
Vai jūs skolā iebiedēja? Šķiet, ka tev ir diezgan zems pašvērtējums, jo tu nevarēji atbildēt, neuzbrūkot man.
Šī būs mana pirmā un pēdējā saziņa ar jums. Ieteikums jums - mēģiniet sazināties pilsoniskāk, un dzīve būs lieliska. Uzmanies.
Grīns
- 2015. gada 15. jūlijs
- Fortvērta
- 2017. gada 25. oktobris
gnasher729 teica: Pareizais veids ir pārbaudīt kļūdu. Piemēram
ja d = dubultā (mana vērtība), d > 10 {
// MyValue saturēja skaitli, un skaitlis ir > 10.
} cits {
// MyValue nesaturēja skaitli, vai arī numurs bija<= 10.
}
Tas ir neviennozīmīgi – ja nu vērtība ir<= 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.
Daudz tīrāks veids būtu:
Kods: |_+_|
Lai gan es patiešām domāju, ka MyValue no sākuma ir jāsaglabā kā Double un vēlāk jāievieš NumberFormatter, lai apstrādātu jebkuru nepieciešamo formatējumu. Tam ir daudz mazāks izziņas slogs tiem, kas beidz izlasīt kodu.
gnasher729
Apturēts
- 2005. gada 25. novembris
- 2017. gada 26. oktobris
maculateConception teica: Vai jūs skolā iebiedēja? Šķiet, ka tev ir diezgan zems pašvērtējums, jo tu nevarēji atbildēt, neuzbrūkot man.
Šī būs mana pirmā un pēdējā saziņa ar jums. Ieteikums jums - mēģiniet sazināties pilsoniskāk, un dzīve būs lieliska. Uzmanies.
Nu es tev neuzbruku. Es uzbruku jūsu ierakstam, kas parāda, ka jūs ļoti maz zināt par Swift, un iekļāvu vienu ļoti bīstamu ieteikumu. S
SAIRUS
uz
- 2008. gada 21. augusts
- 2017. gada 26. oktobris
ievietot
- 2018. gada 14. aprīlis
- 2018. gada 14. aprīlis
1) '!' Jūs varat norādīt, ka šī vērtība būs precīza int, pievienojot atzīmi.
Kods: |_+_| 2) Nosakot vērtību, varat norādīt veidu.
Kods: |_+_| UZ
uzņēmumiem
- 2006. gada 28. janvāris
- 2018. gada 27. aprīlis
ynstek teica: Swift, nav pārliecināts, ka jūsu vērtība ir tieši int. Ir divas iespējas, lai pārliecinātos.
1) '!' Jūs varat norādīt, ka šī vērtība būs precīza int, pievienojot atzīmi.
Kods: |_+_| 2) Nosakot vērtību, varat norādīt veidu.
Kods: |_+_|
Manuprāt, jūsu 2. piemērs neizdosies, jo jūs mēģināt piešķirt virknes atspēli Int mainīgajam dubultniekam. Turklāt jūs pieņemat, ka MyValue nav nulle, kas var izraisīt izpildlaika kļūdu, ja tā ir nulle vai tā nav skaitliska.
Arī jūsu 1. piemēra skaidrojums nav pareizs. Izsaukuma zīme nepārvērš vērtību Int. Tas atsaiņo izvēles mainīgā vērtību. Savā piemērā jūs iegūtu Double vērtību, nevis Int, un tikai tad, ja MyValue nebūtu nulle vai vērtība, kas nav skaitliska.
Populārākas Posts