abcdefg12345
Originalni plakat- 10. julij 2013
- 21. oktober 2017
hitro 4
Koda: |_+_|
uporabljam spremenljiv niz, ker ga potrebujem, da je niz, da ga lahko kasneje formatiram, definiral sem ga kot
Koda: |_+_|
abcdefg12345
Originalni plakat- 10. julij 2013
- 21. oktober 2017
Koda: |_+_|
0002378
Prekinjeno
- 28. maja 2017
- 23. oktober 2017
In čeprav imajo izbirne prednosti svoje prednosti, me tudi pripeljejo do tega, da želim svoj računalnik razbiti ob zgornje robove smetnjaka.
Vendar, kjer je Swift res rit, je na oddelku za zaprtje ... o ja! Zdaj jih ima tudi Java, ampak ...
In seveda dejstvo, da je Swift manj strog pri deklaracijah tipov in teh nadležnih podpičjih ... super!
Reakcije:abcdefg12345
0002378
Prekinjeno
- 28. maja 2017
- 24. oktober 2017
Ne potrebujete nove spremenljivke. Lahko samo dodate '!' na vaš Double(string) in bo delovalo.
Verjetno sem se zmotil, da je Swift v tem primeru neumen. Vendar sem naletel na veliko primerov takšnih pritožb prevajalnika (ne morem primerjati dveh različnih številčnih tipov).
Greene
- 15. julij 2015
- Fort Worth
- 24. oktober 2017
Lahko pa uporabite izbirno vezavo, da odvijete vrednost. Najprej bi poskusil eno od teh metod, preden bi uporabil prisilno odvijanje
gnasher729
Prekinjeno
- 25. november 2005
- 24. oktober 2017
maculateConception je dejal: Mislim, da je Swift kot jezik včasih precej smešen, zlasti. prihaja iz programiranja Java. In navedli ste enega najboljših primerov tega.To je precej nesmiselno. Težava je v tem, da OP ne pozna osnovne funkcije Swifta, ki so izbirne vrednosti. Konstruktor Double(String) lahko očitno ne uspe, če niz ne vsebuje številke. Zato Double (String) ne daje in ne more ustvariti rezultata tipa Double, ampak rezultat tipa Double? , to je izbirni dvojnik. In neobveznega Double ni mogoče primerjati z Int.
Tvoja 'rešitev' je res, res grozna. ! pomeni 'Prepričan sem, da bo ta pretvorba uspela. Če se ne zgodi, zrušite aplikacijo. naj d = dvojno ('1234x')! se bo samo zrušil. Namerno. Ker nisi preveril nič in je bilo nič.
Pravilen način je preverjanje napake. Na primer
če pustimo d = dvojno (moja vrednost), d > 10 {
// MyValue je vseboval številko, številka pa je > 10.
} drugo {
// MyValue ni vseboval številke ali pa je bila številka<= 10.
}
Če menite, da je vredno napisati kodo, ki je varna in dejansko deluje, potem je Swift pravi jezik.
0002378
Prekinjeno
- 28. maja 2017
- 24. oktober 2017
gnasher729 je rekel: To je precej neumno. Težava je v tem, da OP ne pozna osnovne funkcije Swifta, ki so izbirne vrednosti. Konstruktor Double(String) lahko očitno ne uspe, če niz ne vsebuje številke. Zato Double (String) ne daje in ne more ustvariti rezultata tipa Double, ampak rezultat tipa Double? , to je izbirni dvojnik. In neobveznega Double ni mogoče primerjati z Int.
So vas v šoli ustrahovali? Zdi se, da imaš precej nizko samozavest, ker se nisi mogel odzvati, ne da bi me napadel.
To bo moja prva in zadnja komunikacija z vami. Predlog za vas – poskusite komunicirati na bolj civiliziran način in življenje bo super. Pazite.
Greene
- 15. julij 2015
- Fort Worth
- 25. oktober 2017
gnasher729 je rekel: Pravilen način je preverjanje napake. Na primer
če pustimo d = dvojno (moja vrednost), d > 10 {
// MyValue je vseboval številko, številka pa je > 10.
} drugo {
// MyValue ni vseboval številke ali pa je bila številka<= 10.
}
To je dvoumno – kaj če je vrednost<= 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.
Veliko čistejši način bi bil:
Koda: |_+_|
Čeprav res mislim, da bi morala biti MyValue že od začetka shranjena kot Double, kasneje pa je treba uporabiti NumberFormatter, ki bo obravnaval vse potrebno oblikovanje. To ima veliko manjšo kognitivno obremenitev za tistega, ki na koncu prebere kodo.
gnasher729
Prekinjeno
- 25. november 2005
- 26. oktober 2017
maculateConception je rekel: Ali so te v šoli ustrahovali? Zdi se, da imaš precej nizko samozavest, ker se nisi mogel odzvati, ne da bi me napadel.
To bo moja prva in zadnja komunikacija z vami. Predlog za vas – poskusite komunicirati na bolj civiliziran način in življenje bo super. Pazite.
No, nisem te napadel. Napadel sem vašo objavo, ki dokazuje, da o Swiftu veste zelo malo, in vključil eno zelo nevarno priporočilo. S
SAIRUS
do
- 21. avgusta 2008
- 26. oktober 2017
vstavi
- 14. april 2018
- 14. april 2018
1) '!' lahko označite, da bo ta vrednost natančna int, tako da dodate oznako.
Koda: |_+_| 2) Pri definiranju vrednosti lahko določite vrsto.
Koda: |_+_| TO
atmenterprises
- 28. januar 2006
- 27. april 2018
ynstek je rekel: Swift, nisem prepričan, da je vaša vrednost točno int. Obstajata dve možnosti, da se prepričate.
1) '!' lahko označite, da bo ta vrednost natančna int, tako da dodate oznako.
Koda: |_+_| 2) Pri definiranju vrednosti lahko določite vrsto.
Koda: |_+_|
Mislim, da vaš primer #2 ne bi uspel, ker poskušate dodeliti pretvorbo niza dvojniku spremenljivki Int. Prav tako predvidevate, da MyValue ni nič, kar bi lahko povzročilo napako med izvajanjem, če bi bila nična ali neštevilčna.
Tudi vaša razlaga za primer št. 1 ni prava. Klicaj ne pretvori vrednosti v Int. Razvije vrednost neobvezne spremenljivke. V vašem primeru bi na koncu dobili vrednost Double, ne Int, in samo, če MyValue ne bi bila nič ali neštevilska vrednost.
Priljubljene Objave