абцдефг12345
Оригинални постер- 10. јул 2013
- 21. октобар 2017
брз 4
Шифра: |_+_|
користим променљиви стринг јер ми треба да буде стринг да бих могао да га форматирам касније, дефинисао сам га као
Шифра: |_+_|
абцдефг12345
Оригинални постер- 10. јул 2013
- 21. октобар 2017
Шифра: |_+_|
0002378
Суспендед
- 28. маја 2017. године
- 23. октобар 2017
И док опционе опције имају своје предности, оне ме такође терају да разбијем рачунар о горње ивице контејнера.
Међутим, где Свифт заиста разбија дупе је у одељењу за затварање... о да! Сада их има и Јава, али...
И, наравно, чињеница да је Свифт мање строг у декларацији типова и оним досадним тачкама и зарезима... сјајно!
Реакције:абцдефг12345
0002378
Суспендед
- 28. маја 2017. године
- 24. октобар 2017
Не треба вам нова променљива. Можете само додати '!' на ваш Доубле(стринг) и радиће.
Претпостављам да сам погрешио што је Свифт био глуп у овом случају. Али, наишао сам на многе случајеве таквих притужби компајлера (немогућност да упоредим два различита нумеричка типа).
Греене
- 15. јул 2015
- предговор
- 24. октобар 2017
Или можете да користите опционо везивање да одмотате вредност. Прво бих пробао једну од ових метода пре употребе присилног одмотавања
гнасхер729
Суспендед
- 25. новембар 2005
- 24. октобар 2017
мацулатеЦонцептион је рекао: Мислим да је Свифт, као језик, понекад прилично смешан, посебно. долази из Јава програмирања. И, изнели сте један од најбољих примера за то.То је сасвим безвезе. Проблем је у томе што ОП не зна за основну карактеристику Свифта, а то су опционе вредности. Конструктор Доубле(Стринг) очигледно може да не успе ако стринг не садржи број. Зато Доубле (Стринг) не даје и не може да произведе резултат типа Доубле, већ резултат типа Доубле? , то је опциони Доубле. А опциони Доубле се не може поредити са Инт.
Ваше 'решење' је стварно, стварно грозно. Тхе ! значи „Сигуран сам да ће ова конверзија успети. Ако се не догоди, срушите апликацију. нека д = дупло ('1234к')! само ће се срушити. Намерно. Зато што нисте проверили нула, а била је нула.
Исправан начин је провера грешке. На пример
ако је нека д = дупло (моја вредност), д > 10 {
// МиВалуе садржи број, а број је > 10.
} остало {
// МиВалуе није садржао број, или је број био<= 10.
}
Ако мислите да је вредно писати код који је безбедан и који заиста функционише, онда је Свифт прави језик.
0002378
Суспендед
- 28. маја 2017. године
- 24. октобар 2017
гнасхер729 је рекао: То је прилично безнадежно. Проблем је у томе што ОП не зна за основну карактеристику Свифта, а то су опционе вредности. Конструктор Доубле(Стринг) очигледно може да не успе ако стринг не садржи број. Зато Доубле (Стринг) не даје и не може да произведе резултат типа Доубле, већ резултат типа Доубле? , то је опциони Доубле. А опциони Доубле се не може поредити са Инт.
Да ли су вас малтретирали у школи? Изгледа да имаш прилично ниско самопоштовање јер ниси могао да одговориш а да ме не нападнеш.
Ово ће бити моја прва и последња комуникација са вама. Предлог за вас – покушајте да комуницирате на цивилизованији начин и живот ће бити сјајан. Брини се.
Греене
- 15. јул 2015
- предговор
- 25. октобар 2017
гнасхер729 је рекао: Исправан начин је провера грешке. На пример
ако је нека д = дупло (моја вредност), д > 10 {
// МиВалуе садржи број, а број је > 10.
} остало {
// МиВалуе није садржао број, или је број био<= 10.
}
Ово је двосмислено – шта ако је вредност<= 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.
Много чистији начин би био:
Шифра: |_+_|
Мада, заиста мислим да би МиВалуе од самог почетка требало да се чува као Доубле, а да се НумберФорматтер имплементира касније да се носи са било којим форматирањем које је потребно. То има много мањи когнитивни терет за онога ко на крају прочита код.
гнасхер729
Суспендед
- 25. новембар 2005
- 26. октобар 2017
мацулатеЦонцептион је рекао: Да ли су вас малтретирали у школи? Изгледа да имаш прилично ниско самопоштовање јер ниси могао да одговориш а да ме не нападнеш.
Ово ће бити моја прва и последња комуникација са вама. Предлог за вас – покушајте да комуницирате на цивилизованији начин и живот ће бити сјајан. Брини се.
Па нисам те ја напао. Напао сам твој пост, који показује да знаш врло мало о Свифту, и укључио сам једну веома опасну препоруку. С
САИРУС
до
- 21. августа 2008
- 26. октобар 2017
уметнути
- 14. априла 2018
- 14. априла 2018
1) '!' можете назначити да ће ова вредност бити тачна инт додавањем ознаке.
Шифра: |_+_| 2) Можете одредити тип када дефинишете вредност.
Шифра: |_+_| ДО
атментерприсес
- 28. јануара 2006
- 27. април 2018
инстек је рекао: Свифт, нисам сигуран да је твоја вредност тачно инт. Постоје две опције да се уверите.
1) '!' можете назначити да ће ова вредност бити тачна инт додавањем ознаке.
Шифра: |_+_| 2) Можете одредити тип када дефинишете вредност.
Шифра: |_+_|
Мислим да би ваш пример број 2 пропао јер покушавате да доделите преливање стринга двоструком променљивој Инт. Такође, претпостављате да МиВалуе није нула, што би могло да изазове грешку током извршавања ако је нула или не-нумеричка.
Ни ваш пример објашњења број 1 није у праву. Знак узвика не претвара вредност у Инт. Размотава вредност опционе променљиве. У вашем примеру, на крају бисте добили вредност Доубле, а не Инт, и само ако МиВалуе није нула или ненумеричка вредност.
Популар Постс