abcdefg12345
Orihinal na poster- Hul 10, 2013
- Oktubre 21, 2017
matulin 4
Code: |_+_|
Gumagamit ako ng variable na string dahil kailangan ko itong maging isang string para ma-format ko ito sa susunod, tinukoy ko ito bilang
Code: |_+_|
abcdefg12345
Orihinal na poster- Hul 10, 2013
- Oktubre 21, 2017
Code: |_+_|
0002378
Nasuspinde
- Mayo 28, 2017
- Oktubre 23, 2017
At, habang ang mga opsyonal ay may kani-kanilang mga pakinabang, ginagawa din nila akong gusto kong durugin ang aking computer sa mga tuktok na gilid ng isang dumpster.
Gayunpaman, kung saan ang Swift ay talagang kicks ass ay nasa departamento ng pagsasara ... oh yeah ! Mayroon din silang Java, ngayon, ngunit ...
At, siyempre, ang katotohanan na ang Swift ay hindi gaanong mahigpit sa deklarasyon ng mga uri at ang mga pesky na semi-colon na iyon ... kahanga-hanga!
Mga Reaksyon:abcdefg12345
0002378
Nasuspinde
- Mayo 28, 2017
- Oktubre 24, 2017
Hindi mo kailangan ng bagong variable. Maaari mo lamang idagdag ang '!' sa iyong Double(string), at gagana ito.
Mali yata ako sa pagiging tanga ni Swift sa kasong ito. Ngunit, nakatagpo ako ng maraming kaso ng naturang mga reklamo ng compiler (hindi maihambing ang dalawang magkaibang uri ng numero).
Greene
- Hul 15, 2015
- Fort Worth
- Oktubre 24, 2017
O maaari mong gamitin ang opsyonal na pagbubuklod upang i-unwrap ang halaga. Susubukan ko muna ang isa sa mga pamamaraang ito bago gumamit ng force unwrap
gnasher729
Nasuspinde
- Nob 25, 2005
- Oktubre 24, 2017
maculateConception sinabi: Sa tingin ko na Swift, bilang isang wika, ay medyo katawa-tawa minsan, esp. galing sa Java programming. At, dinala mo ang isa sa mga pinakamahusay na halimbawa niyan.Iyon ay medyo walang alam. Ang problema ay hindi alam ng OP ang tungkol sa isang pangunahing tampok ng Swift, na mga opsyonal na halaga. Ang constructor Double(String) ay malinaw na mabibigo kung ang String ay hindi naglalaman ng isang numero. Iyon ang dahilan kung bakit ang Double (String) ay hindi at hindi makagawa ng isang resulta ng uri ng Double, ngunit ang isa sa uri ng Double? , iyon ay isang opsyonal na Double. At ang isang opsyonal na Double ay hindi maihahambing sa isang Int.
Ang iyong 'solusyon' ay talagang, talagang kakila-kilabot. Ang ! nangangahulugang 'Natitiyak kong magtatagumpay ang pagbabagong ito. Kung hindi, mangyaring i-crash ang app'. hayaan ang d = Doble ('1234x')! babagsak lang. sinasadya. Dahil hindi mo nasuri kung wala, at wala ito.
Ang tamang paraan ay ang pagsuri para sa error. Halimbawa
kung hayaan ang d = Doble (MyValue), d > 10 {
// MyValue ay naglalaman ng isang numero, at ang numero ay > 10.
} iba {
// Ang MyValue ay hindi naglalaman ng isang numero, o ang numero ay<= 10.
}
Kung sa tingin mo ay sulit na magsulat ng code na ligtas at talagang gumagana, ang Swift ang tamang wika.
0002378
Nasuspinde
- Mayo 28, 2017
- Oktubre 24, 2017
gnasher729 said: Iyan ay medyo walang alam. Ang problema ay hindi alam ng OP ang tungkol sa isang pangunahing tampok ng Swift, na mga opsyonal na halaga. Ang constructor Double(String) ay malinaw na mabibigo kung ang String ay hindi naglalaman ng isang numero. Iyon ang dahilan kung bakit ang Double (String) ay hindi at hindi makagawa ng isang resulta ng uri ng Double, ngunit ang isa sa uri ng Double? , iyon ay isang opsyonal na Double. At ang isang opsyonal na Double ay hindi maihahambing sa isang Int.
Na-bully ka ba sa school? Medyo mababa ang tingin mo sa sarili mo dahil hindi ka makakasagot nang hindi ako inaatake.
Ito ang una at huling komunikasyon ko sa iyo. Mungkahi sa iyo - subukang makipag-usap sa mas sibil na paraan, at magiging maganda ang buhay. Ingat.
Greene
- Hul 15, 2015
- Fort Worth
- Oktubre 25, 2017
Sinabi ni gnasher729: Ang tamang paraan ay ang pagsuri para sa error. Halimbawa
kung hayaan ang d = Doble (MyValue), d > 10 {
// MyValue ay naglalaman ng isang numero, at ang numero ay > 10.
} iba {
// Ang MyValue ay hindi naglalaman ng isang numero, o ang numero ay<= 10.
}
Ito ay hindi maliwanag - paano kung ang halaga ay<= 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.
Ang isang mas malinis na paraan ay:
Code: |_+_|
Bagaman, talagang iniisip ko na ang MyValue ay dapat na naka-imbak bilang isang Double mula sa simula, at isang NumberFormatter na ipinatupad sa ibang pagkakataon upang mahawakan ang anumang pag-format na kailangan. Iyon ay may mas mababang cognitive burden para sa sinumang magtatapos sa pagbabasa ng code.
gnasher729
Nasuspinde
- Nob 25, 2005
- Oktubre 26, 2017
maculateConception said: Na-bully ka ba sa school ? Medyo mababa ang tingin mo sa sarili mo dahil hindi ka makakasagot nang hindi ako inaatake.
Ito ang una at huling komunikasyon ko sa iyo. Mungkahi sa iyo - subukang makipag-usap sa mas sibil na paraan, at magiging maganda ang buhay. Ingat.
Well, hindi kita inatake. Inatake ko ang iyong post, na nagpapakita na kakaunti ang alam mo tungkol sa Swift, at nagsama ng isang napakadelikadong rekomendasyon. S
SAIRUS
sa
- Agosto 21, 2008
- Oktubre 26, 2017
ipasok
- Abr 14, 2018
- Abr 14, 2018
1) '!' maaari mong ipahiwatig na ang halagang ito ay magiging eksaktong int sa pamamagitan ng pagdaragdag ng marka.
Code: |_+_| 2) Maaari mong tukuyin ang uri kapag tinutukoy ang halaga.
Code: |_+_| SA
atmenterprises
- Ene 28, 2006
- Abr 27, 2018
Sinabi ni ynstek: Swift, hindi sigurado na eksaktong int ang iyong halaga. Mayroong dalawang mga pagpipilian upang makatiyak.
1) '!' maaari mong ipahiwatig na ang halagang ito ay magiging eksaktong int sa pamamagitan ng pagdaragdag ng marka.
Code: |_+_| 2) Maaari mong tukuyin ang uri kapag tinutukoy ang halaga.
Code: |_+_|
Sa tingin ko ay mabibigo ang iyong #2 na halimbawa dahil sinusubukan mong magtalaga ng string cast sa double sa isang Int variable. Gayundin, ipinapalagay mo na ang MyValue ay hindi nil, na maaaring magdulot ng runtime error kung ito ay wala o hindi numeric.
Ang iyong #1 halimbawang paliwanag ay hindi rin tama. Ang isang tandang padamdam ay hindi nagko-convert ng isang halaga sa isang Int. Binubuksan nito ang halaga ng opsyonal na variable. Sa iyong halimbawa, magkakaroon ka ng Double value, hindi isang Int, at kung ang MyValue ay hindi nil o isang non-numeric na value.
Patok Na Mga Post