abcdefg12345
Originaalplakat- 10. juuli 2013
- 21. oktoober 2017
kiire 4
Kood: |_+_|
ma kasutan muutuvat stringi, kuna vajan, et see oleks string, et saaksin seda hiljem vormindada, määratlesin selle järgmiselt
Kood: |_+_|
abcdefg12345
Originaalplakat- 10. juuli 2013
- 21. oktoober 2017
Kood: |_+_|
0002378
Peatatud
- 28. mai 2017
- 23. oktoober 2017
Ja kuigi lisavarustusel on oma eelised, sunnivad need mind ka minu arvuti vastu prügikasti ülemisi servi purustama.
Samas, kus Swift tõesti lööb, on sulgemiste osakond ... oh jah! Ka Javas on need nüüd olemas, kuid ...
Ja muidugi asjaolu, et Swift on tüüpide deklareerimisel vähem range ja need tüütud semikoolonid ... äge!
Reaktsioonid:abcdefg12345
0002378
Peatatud
- 28. mai 2017
- 24. oktoober 2017
Te ei vaja uut muutujat. Saate lihtsalt lisada '!' oma Double(string) ja see töötab.
Ma arvan, et ma eksisin, et Swift oli antud juhul loll. Kuid olen kohanud palju selliseid kompilaatorikaebusi (ei saa võrrelda kahte erinevat numbritüüpi).
Greene
- 15. juuli 2015
- Fort Worth
- 24. oktoober 2017
Või võite väärtuse lahtipakkimiseks kasutada valikulist sidumist. Enne jõuga lahtipakkimist prooviksin kõigepealt ühte neist meetoditest
gnasher729
Peatatud
- 25. november 2005
- 24. oktoober 2017
maculateConception ütles: Ma arvan, et Swift kui keel on kohati üsna naeruväärne, eriti. pärit Java programmeerimisest. Ja tõite selle kohta ühe parima näite.See on üsna mõttetu. Probleem on selles, et OP ei tea Swifti põhifunktsioonist, milleks on valikulised väärtused. Konstruktor Double(String) võib ilmselgelt ebaõnnestuda, kui string ei sisalda arvu. Sellepärast Double (String) ei anna ega saagi anda Double tüüpi tulemust, vaid Double tüüpi tulemust? , see on valikuline Double. Ja valikulist Double ei saa võrrelda Int.
Teie 'lahendus' on tõesti kohutav. ! tähendab 'Olen kindel, et see konversioon õnnestub.' Kui ei, siis palun jookske rakendus kokku. olgu d = Double ('1234x')! kukub lihtsalt kokku. Tahtlikult. Sest sa ei kontrollinud nulli ja see oli null.
Õige viis on vea kontrollimine. Näiteks
kui d = Double (MinuVäärtus), d > 10 {
// MyValue sisaldas numbrit ja see arv on > 10.
} muu {
// MyValue ei sisaldanud numbrit või see oli<= 10.
}
Kui arvate, et tasub kirjutada turvalist ja reaalselt töötavat koodi, siis on Swift õige keel.
0002378
Peatatud
- 28. mai 2017
- 24. oktoober 2017
gnasher729 ütles: See on üsna abitu. Probleem on selles, et OP ei tea Swifti põhifunktsioonist, milleks on valikulised väärtused. Konstruktor Double(String) võib ilmselgelt ebaõnnestuda, kui string ei sisalda arvu. Sellepärast Double (String) ei anna ega saagi anda Double tüüpi tulemust, vaid Double tüüpi tulemust? , see on valikuline Double. Ja valikulist Double ei saa võrrelda Int.
Kas sind kiusati koolis? Tundub, et sul on üsna madal enesehinnang, sest sa ei suutnud vastata mind rünnata.
See on minu esimene ja viimane suhtlus teiega. Soovitus teile – proovige suhelda tsiviliseeritumalt ja elu saab olema suurepärane. Ole tubli.
Greene
- 15. juuli 2015
- Fort Worth
- 25. oktoober 2017
gnasher729 ütles: Õige viis on vea kontrollimine. Näiteks
kui d = Double (MinuVäärtus), d > 10 {
// MyValue sisaldas numbrit ja see arv on > 10.
} muu {
// MyValue ei sisaldanud numbrit või see oli<= 10.
}
See on mitmetähenduslik – mis siis, kui väärtus on<= 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.
Palju puhtam viis oleks:
Kood: |_+_|
Kuigi ma tõesti arvan, et MyValue tuleks algusest peale salvestada Double-vormingus ja hiljem rakendada NumberFormatter, et käsitleda mis tahes vormindamist. Sellel on palju väiksem kognitiivne koormus sellele, kes koodi loeb.
gnasher729
Peatatud
- 25. november 2005
- 26. oktoober 2017
maculateConception ütles: Kas teid kiusati koolis? Tundub, et sul on üsna madal enesehinnang, sest sa ei suutnud vastata mind rünnata.
See on minu esimene ja viimane suhtlus teiega. Soovitus teile – proovige suhelda tsiviliseeritumalt ja elu saab olema suurepärane. Ole tubli.
Noh, ma ei rünnanud sind. Ründasin teie postitust, mis näitab, et teate Swiftist väga vähe, ja lisasin ühe väga ohtliku soovituse. S
SAIRUS
juurde
- 21. august 2008
- 26. oktoober 2017
sisestada
- 14. aprill 2018
- 14. aprill 2018
1) '!' märgi lisamisega saate näidata, et see väärtus on täpne int.
Kood: |_+_| 2) Väärtuse määratlemisel saate määrata tüübi.
Kood: |_+_| TO
ettevõtted
- 28. jaanuar 2006
- 27. aprill 2018
ynstek ütles: Swift, pole kindel, et teie väärtus on täpselt int. Veendumiseks on kaks võimalust.
1) '!' märgi lisamisega saate näidata, et see väärtus on täpne int.
Kood: |_+_| 2) Väärtuse määratlemisel saate määrata tüübi.
Kood: |_+_|
Ma arvan, et teie näide nr 2 ebaõnnestub, kuna proovite määrata Int muutuja duublile stringi ülekande. Samuti eeldate, et MyValue ei ole null, mis võib põhjustada käitustõrkeid, kui see on null või mittenumbriline.
Ka teie 1. näite selgitus pole õige. Hüüumärk ei teisenda väärtust Int. See avab valikulise muutuja väärtuse. Teie näites saate lõpuks kahekordse väärtuse, mitte Int, ja ainult siis, kui MyValue pole null või mittenumbriline väärtus.
Lemmik Postitused