ఫోరమ్‌లు

Mac బైనరీ ఆపరేటర్ '>' అనేది 'డబుల్?' రకం ఆపరేండ్‌లకు వర్తించదు. మరియు 'Int'

abcdefg12345

ఒరిజినల్ పోస్టర్
జూలై 10, 2013
  • అక్టోబర్ 21, 2017
నేను స్ట్రింగ్‌లోని డబుల్ విలువ 10 కంటే పెద్దదిగా ఉందో లేదో తనిఖీ చేయడానికి if స్టేట్‌మెంట్‌ని కలిగి ఉండటానికి ప్రయత్నిస్తున్నాను, కానీ 'బైనరీ ఆపరేటర్ '>' అనే ఎర్రర్‌ను పొందాలని నేను ఆసక్తిగా ఉన్నాను 'డబుల్?' రకం ఆపరాండ్‌లకు వర్తించలేము. మరియు 'Int' నేను ఏమి తప్పు చేస్తున్నానో ఎవరికైనా తెలుసు.

స్విఫ్ట్ 4
కోడ్: |_+_|
నేను వేరియబుల్ స్ట్రింగ్‌ని ఉపయోగిస్తున్నాను ఎందుకంటే నాకు అది స్ట్రింగ్ కావాలి కాబట్టి నేను దానిని తర్వాత ఫార్మాట్ చేయగలను, నేను దానిని ఇలా నిర్వచించాను
కోడ్: |_+_|

abcdefg12345

ఒరిజినల్ పోస్టర్
జూలై 10, 2013


  • అక్టోబర్ 21, 2017
మరొక వేరియబుల్ జోడించడం ద్వారా దాన్ని పరిష్కరించబడింది
కోడ్: |_+_|
ప్రతిచర్యలు:960 డిజైన్

0002378

సస్పెండ్ చేయబడింది
మే 28, 2017
  • అక్టోబర్ 23, 2017
స్విఫ్ట్, ఒక భాషగా, కొన్నిసార్లు చాలా నవ్వు తెప్పిస్తుంది, esp. జావా ప్రోగ్రామింగ్ నుండి వస్తోంది. మరియు, మీరు దాని యొక్క ఉత్తమ ఉదాహరణలలో ఒకదాన్ని అందించారు.

మరియు, ఐచ్ఛికాలు వాటి ప్రయోజనాలను కలిగి ఉన్నప్పటికీ, అవి నా కంప్యూటర్‌ను డంప్‌స్టర్ ఎగువ అంచులకు వ్యతిరేకంగా స్మాష్ చేయాలనుకుంటున్నాను.

అయితే, స్విఫ్ట్ నిజంగా గాడిదను ఎక్కడ తన్నుతుందో అక్కడ మూసివేతల విభాగంలో ఉంది ... ఓహ్ అవును ! జావా ఇప్పుడు వాటిని కూడా కలిగి ఉంది, కానీ ...

మరియు, వాస్తవానికి, రకాలు మరియు ఆ ఇబ్బందికరమైన సెమీ కోలన్‌ల ప్రకటనలో స్విఫ్ట్ తక్కువ కఠినంగా ఉంది ... అద్భుతం !

ప్రతిచర్యలు:abcdefg12345

0002378

సస్పెండ్ చేయబడింది
మే 28, 2017
  • అక్టోబర్ 24, 2017
ఓహ్ వేచి ఉండండి, ఇప్పుడు నేను మీ కోడ్‌ని తిరిగి చూసాను, మీ డబుల్(స్ట్రింగ్) విలువ రెట్టింపుగా అంచనా వేయబడిందా?, ఇది ఐచ్ఛిక విలువ.

మీకు కొత్త వేరియబుల్ అవసరం లేదు. మీరు కేవలం '!' జోడించవచ్చు మీ డబుల్(స్ట్రింగ్)కి, అది పని చేస్తుంది.

ఈ సందర్భంలో స్విఫ్ట్ తెలివితక్కువదని నేను తప్పుగా భావించాను. కానీ, నేను అటువంటి కంపైలర్ ఫిర్యాదుల యొక్క అనేక కేసులను ఎదుర్కొన్నాను (రెండు వేర్వేరు సంఖ్యా రకాలను పోల్చడం సాధ్యం కాలేదు).

గ్రీన్

జూలై 15, 2015
ఫోర్ట్ వర్త్
  • అక్టోబర్ 24, 2017
మీ MyValueని డబుల్ లేదా ఇంట్‌గా (అది ఉన్నట్లుగా) నిల్వ చేయడమే క్లీనర్, మరింత స్విఫ్టీ పరిష్కారం అని నేను భావిస్తున్నాను. మీరు ఫార్మాటింగ్‌ని నిర్వహించడానికి NumberFormatterని ఉపయోగించవచ్చు.

లేదా మీరు విలువను అన్‌వ్రాప్ చేయడానికి ఐచ్ఛిక బైండింగ్‌ని ఉపయోగించవచ్చు. ఫోర్స్ అన్‌వ్రాప్‌ని ఉపయోగించే ముందు నేను మొదట ఈ పద్ధతుల్లో ఒకదాన్ని ప్రయత్నిస్తాను

gnasher729

సస్పెండ్ చేయబడింది
నవంబర్ 25, 2005
  • అక్టోబర్ 24, 2017
మాక్యులేట్ కాన్సెప్షన్ ఇలా అన్నారు: స్విఫ్ట్, ఒక భాషగా, కొన్నిసార్లు చాలా నవ్వు తెప్పిస్తుంది, esp. జావా ప్రోగ్రామింగ్ నుండి వస్తోంది. మరియు, మీరు దాని యొక్క ఉత్తమ ఉదాహరణలలో ఒకదాన్ని అందించారు.
అది చాలా క్లూలెస్. సమస్య ఏమిటంటే, స్విఫ్ట్ యొక్క ప్రాథమిక ఫీచర్ గురించి OPకి తెలియదు, ఇది ఐచ్ఛిక విలువలు. స్ట్రింగ్ సంఖ్యను కలిగి ఉండకపోతే కన్స్ట్రక్టర్ డబుల్(స్ట్రింగ్) స్పష్టంగా విఫలమవుతుంది. అందుకే డబుల్ (స్ట్రింగ్) డబుల్ టైప్ ఫలితాన్ని ఇవ్వదు మరియు ఉత్పత్తి చేయదు, కానీ టైప్ డబుల్‌లో ఒకటి? , అది ఐచ్ఛిక డబుల్. మరియు ఐచ్ఛిక డబుల్‌ను Intతో పోల్చలేము.

మీ 'పరిష్కారం' నిజంగా చాలా భయంకరంగా ఉంది. ది ! అంటే 'ఈ మార్పిడి విజయవంతం అవుతుందని నేను ఖచ్చితంగా అనుకుంటున్నాను. అది కాకపోతే, దయచేసి యాప్‌ను క్రాష్ చేయండి. వీలు d = డబుల్ ('1234x')! కేవలం క్రాష్ అవుతుంది. ఉద్దేశపూర్వకంగా. ఎందుకంటే మీరు నిల్ కోసం తనిఖీ చేయలేదు మరియు అది శూన్యం.

లోపం కోసం తనిఖీ చేయడం సరైన మార్గం. ఉదాహరణకి

వీలు ఉంటే d = డబుల్ (MyValue), d > 10 {
// MyValue ఒక సంఖ్యను కలిగి ఉంది మరియు సంఖ్య > 10.
} లేకపోతే {
// MyValue సంఖ్యను కలిగి లేదు లేదా సంఖ్యను కలిగి ఉంది<= 10.
}

సురక్షితమైన మరియు వాస్తవానికి పనిచేసే కోడ్‌ను వ్రాయడం విలువైనదని మీరు భావిస్తే, స్విఫ్ట్ సరైన భాష.
ప్రతిచర్యలు:atmenterprises మరియు ajthom90

0002378

సస్పెండ్ చేయబడింది
మే 28, 2017
  • అక్టోబర్ 24, 2017
gnasher729 చెప్పారు: ఇది చాలా క్లూలెస్. సమస్య ఏమిటంటే, స్విఫ్ట్ యొక్క ప్రాథమిక ఫీచర్ గురించి OPకి తెలియదు, ఇది ఐచ్ఛిక విలువలు. స్ట్రింగ్ సంఖ్యను కలిగి ఉండకపోతే కన్స్ట్రక్టర్ డబుల్(స్ట్రింగ్) స్పష్టంగా విఫలమవుతుంది. అందుకే డబుల్ (స్ట్రింగ్) డబుల్ టైప్ ఫలితాన్ని ఇవ్వదు మరియు ఉత్పత్తి చేయదు, కానీ టైప్ డబుల్‌లో ఒకటి? , అది ఐచ్ఛిక డబుల్. మరియు ఐచ్ఛిక డబుల్‌ను Intతో పోల్చలేము.

మీరు పాఠశాలలో వేధింపులకు గురయ్యారా? మీరు నాపై దాడి చేయకుండా ప్రతిస్పందించలేరు కాబట్టి మీకు చాలా తక్కువ ఆత్మగౌరవం ఉన్నట్లు కనిపిస్తోంది.

ఇది మీకు నా మొదటి మరియు చివరి కమ్యూనికేషన్. మీకు సూచన - మరింత పౌర మార్గంలో కమ్యూనికేట్ చేయడానికి ప్రయత్నించండి మరియు జీవితం గొప్పగా ఉంటుంది. జాగ్రత్త.

గ్రీన్

జూలై 15, 2015
ఫోర్ట్ వర్త్
  • అక్టోబర్ 25, 2017
gnasher729 చెప్పారు: లోపం కోసం తనిఖీ చేయడం సరైన మార్గం. ఉదాహరణకి

వీలు ఉంటే d = డబుల్ (MyValue), d > 10 {
// MyValue ఒక సంఖ్యను కలిగి ఉంది మరియు సంఖ్య > 10.
} లేకపోతే {
// MyValue సంఖ్యను కలిగి లేదు లేదా సంఖ్యను కలిగి ఉంది<= 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.

చాలా శుభ్రమైన మార్గం:

కోడ్: |_+_|
అయినప్పటికీ, MyValueని మొదటి నుండి డబుల్‌గా నిల్వ చేయాలని నేను నిజంగా అనుకుంటున్నాను మరియు ఏ ఫార్మాటింగ్ కావాలన్నా నిర్వహించడానికి తర్వాత అమలు చేయబడిన NumberFormatter. కోడ్‌ని చదవడం ముగించే వారికి ఇది చాలా తక్కువ అభిజ్ఞా భారాన్ని కలిగి ఉంటుంది.
ప్రతిచర్యలు:atmenterprises

gnasher729

సస్పెండ్ చేయబడింది
నవంబర్ 25, 2005
  • అక్టోబర్ 26, 2017
maculateConception చెప్పారు: మీరు పాఠశాలలో వేధింపులకు గురయ్యారా? మీరు నాపై దాడి చేయకుండా ప్రతిస్పందించలేరు కాబట్టి మీకు చాలా తక్కువ ఆత్మగౌరవం ఉన్నట్లు కనిపిస్తోంది.

ఇది మీకు నా మొదటి మరియు చివరి కమ్యూనికేషన్. మీకు సూచన - మరింత పౌర మార్గంలో కమ్యూనికేట్ చేయడానికి ప్రయత్నించండి మరియు జీవితం గొప్పగా ఉంటుంది. జాగ్రత్త.

సరే, నేను మీపై దాడి చేయలేదు. నేను మీ పోస్ట్‌పై దాడి చేసాను, ఇది మీకు స్విఫ్ట్ గురించి చాలా తక్కువ తెలుసని చూపిస్తుంది మరియు చాలా ప్రమాదకరమైన సిఫార్సును చేర్చాను. ఎస్

సైరస్

కు
ఆగస్ట్ 21, 2008
  • అక్టోబర్ 26, 2017
నేను చాలా సార్లు కాపలాగా ఉంటాను కానీ క్లాస్‌లోని ప్రతి ఫంక్షన్‌లు ఒకే వేరియబుల్‌గా ఉంటే...మీ ప్రారంభ ఇంటర్‌ఫేస్‌ను పునఃపరిశీలించాలనుకోవచ్చు.

చొప్పించు

ఏప్రిల్ 14, 2018
  • ఏప్రిల్ 14, 2018
స్విఫ్ట్, మీ విలువ ఖచ్చితంగా పూర్ణాంకం అని ఖచ్చితంగా తెలియదు. నిర్ధారించుకోవడానికి రెండు ఎంపికలు ఉన్నాయి.
1) '!' గుర్తును జోడించడం ద్వారా ఈ విలువ ఖచ్చితమైన పూర్ణంగా ఉంటుందని మీరు సూచించవచ్చు.
కోడ్: |_+_| 2) విలువను నిర్వచించేటప్పుడు మీరు రకాన్ని పేర్కొనవచ్చు.
కోడ్: |_+_| TO

atmenterprises

జనవరి 28, 2006
  • ఏప్రిల్ 27, 2018
ynstek చెప్పారు: స్విఫ్ట్, మీ విలువ ఖచ్చితంగా పూర్ణాంకమని ఖచ్చితంగా తెలియదు. నిర్ధారించుకోవడానికి రెండు ఎంపికలు ఉన్నాయి.
1) '!' గుర్తును జోడించడం ద్వారా ఈ విలువ ఖచ్చితమైన పూర్ణంగా ఉంటుందని మీరు సూచించవచ్చు.
కోడ్: |_+_| 2) విలువను నిర్వచించేటప్పుడు మీరు రకాన్ని పేర్కొనవచ్చు.
కోడ్: |_+_|

మీరు స్ట్రింగ్ కాస్ట్‌ని Int వేరియబుల్‌కి డబుల్‌కి కేటాయించడానికి ప్రయత్నిస్తున్నందున మీ #2 ఉదాహరణ విఫలమవుతుందని నేను భావిస్తున్నాను. అలాగే, మీరు MyValue శూన్యం కాదని ఊహిస్తున్నారు, ఇది శూన్యం లేదా సంఖ్యా రహితంగా ఉంటే రన్‌టైమ్ ఎర్రర్‌కు కారణం కావచ్చు.

మీ #1 ఉదాహరణ వివరణ కూడా సరైనది కాదు. ఆశ్చర్యార్థకం గుర్తు విలువను Intగా మార్చదు. ఇది ఐచ్ఛిక వేరియబుల్ విలువను విప్పుతుంది. మీ ఉదాహరణలో, మీరు Int కాకుండా డబుల్ విలువతో ముగుస్తుంది మరియు MyValue నిల్ కానట్లయితే లేదా సంఖ్యేతర విలువ మాత్రమే.