කැරලි වරහන් ඔවුන්ගේම රේඛාවෙන් දිස්විය යුතුද? [වසා ඇත]


285

කැරලි වරහන් ඔවුන්ගේම රේඛාවෙන් තිබිය යුතුද නැද්ද? ඔබ ඒ ගැන සිතන්නේ කුමක්ද?

if (you.hasAnswer()) {
    you.postAnswer();
} else {
    you.doSomething();
}

නැත්නම් එය එසේ විය යුතුයි

if (you.hasAnswer())
{
    you.postAnswer();
}
else
{
    you.doSomething();
}

හෝ පවා

if (you.hasAnswer())
    you.postAnswer();
else
    you.doSomething();

කරුණාකර නිර්මාණාත්මක වන්න! එයට හේතුව පැහැදිලි කරන්න, අත්දැකීම් බෙදාගන්න, කරුණු සහ යොමු කිරීම් සමඟ එය උපස්ථ කරන්න.


109
වරහන් ස්ථානගත කිරීම තෝරා ගැනීමට වඩා "== සත්‍ය" වඩා අවධානය වෙනතකට යොමු කරන බව මට පෙනේ.
ඩෑන් ඩයර්

11
An ඩෑන්: සෑම විටම කොන්දේසි සහිත ප්‍රකාශනය පැහැදිලි කිරීම පැහැදිලි බව සඳහා බෙහෙවින් ඉවහල් වන බව මම සිතමි.
විශාරද 79

4
මෙය වැදගත් වීමට එකම හේතුව ඔබේ IDE / සංස්කාරකය ගැලපෙන වක්‍ර වරහන් හඳුනාගැනීමට සහාය නොදක්වන්නේ නම් පමණි.
leeand00

4
@ leeand00: අපෙන් සමහරු තවමත් සංකීර්ණ / නුහුරු කේත මුද්‍රණය කරන්නේ එය අධ්‍යයනය කිරීමට / විවරණය කිරීමට ය. හොඳ ලස්සන මුද්‍රණ යන්ත්‍රයක් බොහෝ ගැටලු අවම කරයි.
ෂෝග් 9

2
කනගාටුදායක ප්‍රශ්නය වසා ඇත. ඉන්ඩෙන්ට් මත පදනම් වූ සින්ටැක්ස් භාවිතයෙන් ටික කලකට පසු මම තවත් වරහන් ව්‍යුහයකට මාරු වීමි. අවසාන පේළියේ ඔබේ පළමු නමුත් වසා දැමීමේ වරහන මෙන්. (කේත රේඛාවෙන් පසුව)
cnd

Answers:


91

මම ශිෂ්‍යයෙක්ව සිටියදී එකම රේඛාවකට කැරලි වරහන් දැමුවෙමි, එවිට පේළි අඩු වන අතර කේතය පිටු කිහිපයකින් මුද්‍රණය වේ. පේළියක ඇති එකම දෙය ලෙස මුද්‍රණය කර ඇති තනි වරහන චරිතයක් දෙස බැලීම කරදරයකි. (පරිසරය, කඩදාසි නාස්තිය)

නමුත් විශාල යෙදුම් කේතනය කිරීමේදී, වරහන් පමණක් ඇති සමහර රේඛාවලට ඉඩ දීම දැරිය හැකි අතර, එය ලබා දෙන 'කණ්ඩායම්කරණය' හැඟීම සැලකිල්ලට ගනී.

ඔබ කුමන ශෛලියක් තෝරා ගත්තද, අනුකූල වන්න, එවිට ඔබේ මොළයට අදාළ කේත කැබලි වල විවිධ මෝස්තර සැකසීම පොදු කාර්යයක් නොවනු ඇත . විවිධ අවස්ථා වලදී (ඉහත වැනි) විවිධ මෝස්තර භාවිතා කිරීම සුදුසු යැයි මම කියමි, ඉහළ මට්ටමක 'සන්දර්භය මාරු කිරීම' පහසුය.


6
අනෙක් අතට, නව රේඛාවේ වරහන ANSI ප්‍රමිතියකි, K&R එසේ නොවේ. නමුත් ප්‍රමිතීන් පිළිබඳ සුන්දරත්වය නම්, විවිධාකාර ඒවා තිබීමයි ( uncyclopedia.wikia.com/wiki/AAAAAAAAA ! Uncyclopedia ද බලන්න ).
Quandary

"පේළි අඩුයි" මට ටෙරාබයිට් අවකාශය සහ පික්සල් ගොඩක් තිබේ. වැඩි රේඛා භාවිතා කිරීම ගැන මා සැලකිලිමත් විය යුත්තේ ඇයි?
12431234123412341234123

1
43 12431234123412341234123: මම හිතන්නේ ඔහු අදහස් කළේ සමහර අය කේත සමාලෝචනය සඳහා කේතය මුද්‍රණය කරන බැවිනි. අත්‍යවශ්‍ය නොවන සෑම නව රේඛාවක්ම කඩදාසි නාස්තියකි, නැතහොත් කිලෝමීටරයක ෆොරස්ට් නාස්තියකි. කෙසේ වෙතත්, ඔබ එය මුද්‍රණය නොකරන්නේ නම් (මම නිසැකවම එසේ නොකරමි) එවිට ANSI K&R ට වඩා හොඳය. එසේම, මුද්‍රණය කිරීමට අදහස් කරන ඕනෑම අයෙකු ස්වයංක්‍රීය කේත ආකෘතියක් භාවිතා කළ යුතුය - එබැවින් මෙය මෙවලම් පිළිබඳ ප්‍රශ්නයක් විය යුතුය, කේතීකරණ ශෛලියක් නොවේ.
අර්බුදයක

ඔබ ස්ථාවරව සිටිය යුතු බවට මම එකඟ වෙමි, මම වසර ගණනාවක් තිස්සේ නව රේඛාවල රැලි සහිත වරහන් භාවිතා කරමි, නමුත් මගේ කේතයේ වෙනත් ආකාරයකින් මිශ්‍ර කළ යුතුය, එනම් කාර්යයන් ඇමතීමේදී, නිර්නාමික කාර්යයන්, වස්තු සාක්ෂරතා යනාදිය. ඕනෑම ප්‍රකාශනයක්- පදනම් වූ භාෂා / නිර්නාමික කේතය එකම පේළියේ වරහන් වඩාත් පහසු කරයි
ඩේවිඩ් කැලනන්

253

ඔබ කිසි විටෙකත් 3 වන ක්‍රමය නොකළ යුතුය.

වරහන් මත ලිස්සා යාමෙන් ඔබට පළමු වරට යතුරු එබීම් කිහිපයක් ඉතිරි කර ගත හැකි නමුත්, ඊළඟ කෝඩරය සමඟ එන, ඔබේ වෙනත් වගන්තියට යමක් එකතු කරන්නේ බ්ලොක් එක නොදැනී ඇති බව නොදැන වරහන් විශාල වේදනාවක් සඳහා ය.

ඔබගේ කේතය වෙනත් පුද්ගලයින් සඳහා ලියන්න.


117
එම ප්‍ර wisdom ාව ආරම්භ වූයේ කොහෙන්දැයි මම දැන සිටියෙමි. ඔබේ කේතය කියවීමට කරදර නොවන පුද්ගලයින් සඳහා ලිවීම ඔබට ලබා ගත හැකි තරම් තේරුමක් නැති නිසා ...
Shog9

72
දෙවන ක්‍රමලේඛකයාට යමක් එකතු කළ විට ඔහුගේ වරහන් එකතු කළ හැකිය. ඔහු මෝඩයෙක් නොවන අතර, කේතීකරණ සම්මුතියක දී මේ වගේ සරල දේවල් සඳහා වරහන් මඟ හැරීමට අනුබල දෙන ඔහු බැලීමට දැන ගනු ඇත.
කෙන් බ්ලූම්

26
විකල්ප වරහන් විකල්ප නොවේ. සී හි දී එහි පරම්පරාවට ගෙන යන ලද වඩාත් නරක නිර්මාණ තීරණ කිහිපයක් තිබේ. C # තරම් මෑතදී එය භාෂාවක ජීවත් වීම මා කෝපයට
ඇඩම් ක්‍රොස්ලන්ඩ්

29
ඔබ කෙතරම් දක්ෂද යන්න හෝ තනි රේඛාව මඟ හැරුණු වක්‍රාකාරයන් වටා කේතීකරණ ප්‍රමිතිය කෙතරම් අන්තර්ගත වී ඇත්ද යන්න ගැටළුවක් නොවේ: ඔබ ගැටළුවක් හෝ දෝෂයක් විසඳීමට සොයන්නේ නම්, එම වක්‍රය මඟ හැරී ඇති බව ඔබට මග හැරෙනු ඇත. තත්පර 2 ක වැඩ සඳහා, පැහැදිලිවම පැවසීම එතරම්ම නරකද?
ජෝර්දාන්

12
# 3 ශෛලියට එක් වාසියක් ඇත, ඔබ සියල්ලන්ම මග හැරී ඇත: ඔබට එකවර තවත් තිරයක් ලැබෙනු ඇත.
ලොරන් පෙක්ටෙල්

209

දීර් choice කාලයක් තිස්සේ මම තර්ක කළේ ඒවා සමාන වටිනාකමක් ඇති බවයි, නැතහොත් සමාන වීමට ඉතා ආසන්න බැවින් නිවැරදි තේරීමක් කිරීමෙන් ලබා ගත හැකි ලාභය ඒ ගැන වාද කිරීමේ පිරිවැයට වඩා බෙහෙවින් අඩු ය.

කෙසේවෙතත්, ස්ථාවරව සිටීම වැදගත්ය . ඉතින් මම කිව්වා අපි කාසියක් පෙරළා කේත ලිවීමට යමු.

ක්‍රමලේඛකයින් මීට පෙර මෙවැනි වෙනසකට විරුද්ධ වන බව මම දැක ඇත්තෙමි. එය ඉක්මවා යන්න! මම මගේ වෘත්තීය ජීවිතයේ බොහෝ වාරයක් මාරු වී සිටිමි. මගේ පවර්ෂෙල් වලට වඩා මගේ සී # හි විවිධ මෝස්තර භාවිතා කරමි.

මීට වසර කිහිපයකට පෙර මම කණ්ඩායමක් (~ 20 සංවර්ධකයින්) සමඟ වැඩ කරමින් සිටියදී ආදානය ඉල්ලීමට තීරණය කර තීරණයක් ගෙන පසුව සියලු කේත පදනම හරහා එය ක්‍රියාත්මක කරමි. අපට තීරණය කිරීමට සති 1 ක් ඇත.

කෙඳිරිගෑම සහ ඇස් පෙරළීම. ගොඩක් "මම මගේ ක්‍රමයට කැමතියි, එය වඩා හොඳ නිසා" නමුත් කිසිදු සාරයක් නොමැත.

අප ප්‍රශ්නයේ සියුම් කරුණු අධ්‍යයනය කරමින් සිටියදී, යමෙකු මෙම ප්‍රශ්නය සමඟ එකම රේඛා ශෛලියකින් කටයුතු කරන්නේ කෙසේදැයි විමසීය:

void MyFunction(
    int parameterOne,
    int parameterTwo) {
    int localOne,
    int localTwo
}

පරාමිති ලැයිස්තුව අවසන් වන්නේ කොතැනින්ද යන්න වහාම නොපෙනෙන අතර ශරීරය ආරම්භ වන බව සලකන්න. සසඳන්න:

void MyFunction(
    int parameterOne,
    int parameterTwo) 
{
    int localOne,
    int localTwo
}

ලොව පුරා සිටින ජනයා මෙම ගැටලුව සමඟ කටයුතු කළ ආකාරය පිළිබඳව අපි යම් කියවීමක් කළ අතර විවෘත වරහනෙන් පසු හිස් රේඛාවක් එකතු කිරීමේ රටාව සොයා ගතිමු:

void MyFunction(
    int parameterOne,
    int parameterTwo) {

    int localOne,
    int localTwo
}

ඔබ දෘශ්‍ය විවේකයක් ලබා ගැනීමට යන්නේ නම්, ඔබට එය වරහනකින් කළ හැකිය. එවිට ඔබේ දෘශ්‍ය විවේකයද ස්ථාවර වේ.

සංස්කරණය කරන්න : කේ ඇන්ඩ් ආර් භාවිතා කරන විට 'අමතර හිස් රේඛාව' විසඳුමට විකල්ප දෙකක්:

1 / ශ්‍රිත තර්ක ශ්‍රිත ශරීරයට වඩා වෙනස් ලෙස ඇතුල් කරන්න

2 / පළමු තර්කය ශ්‍රිත නාමයට සමාන රේඛාවක් මත තබා නව රේඛා මත තවත් තර්ක එම පළමු තර්කයට පෙළගස්වන්න

උදාහරණ:

1 /

void MyFunction(
        int parameterOne,
        int parameterTwo) {
    int localOne,
    int localTwo
}

2 /

void MyFunction(int parameterOne,
                int parameterTwo) {
    int localOne,
    int localTwo
}

/සංස්කරණය කරන්න

අනෙක් කරුණු වලට වඩා අනුකූලතාව වැදගත් යැයි මම තවමත් තර්ක කරමි, නමුත් අපට ස්ථාපිත පූර්වාදර්ශයක් නොමැති නම් , ඊළඟට යා යුතු මාර්ගය වන්නේ වරහනයි.


34
FYI, මම සාධාරණ පුද්ගලයෙක් වගේ වෙන්න පුළුවන්, නමුත් මම ඇත්තෙන්ම නට් කෙනෙක්. සරල, තනි රේඛා බ්ලොක් සඳහා, මම වරහන් හෝ නව රේඛා භාවිතා නොකරමි, 'if (foo) bar ()' සියල්ලම එක පේළියක් බවට පත් කරමි. මගේ කේතය ගැටළුවක් නොවන තරමට සරල කිරීමට මම උත්සාහ කරමි.
ජේ බාසුසි

41
මෙය හරියටම පළ කිරීමට මෙහි පැමිණියේය. ආරම්භක වරහන එකම පේළියක තබා ගන්නා ටොන් ගණනක් එය හිස් රේඛාවකින් (විශේෂයෙන් පන්ති හා ක්‍රම ආරම්භයේදී) අනුගමනය කරයි, එසේ නොමැති නම්, පන්ති / ක්‍රම ශීර්ෂය ශරීරයෙන් වෙන් කිරීම දුෂ්කර ය. හොඳයි, ඔබ කෙසේ හෝ අමතර රේඛාවක් භාවිතා කිරීමට යන්නේ නම්, ඔබට ද වරහන එහි තබා ඇති අතර ඉන්ඩෙන්ටේෂන් හි අමතර වාසිය දැකීමට පහසු වේ.
යෙව්ගනි බ්‍රික්මන්

27
මම හිස් රේඛාව දැක නැත - MyFunction () සඳහා වන පරාමිතීන් වෙනත් පේළියක් වෙතට ඇදී යන විට ද්විත්ව-ඉන්ඩෙන්ට් කිරීම ගැන මම වඩාත් හුරුපුරුදුය.
ආමන්ඩ්

35
පරාමිතීන් බහුවිධ රේඛාවලට කැඩීම උමතුවකි.
ෆොස්කෝ

10
"ශ්‍රිත පරාමිතිය" තර්කය රතු හුරුල්ලකි. නිසැකවම තර්ක දෙවරක් අදහස් කළ යුතුය. පහත දැක්වෙන කේතයෙන් එය වෙන්කර හඳුනා ගැනීමට කිසිදු ගැටළුවක් නොමැත.
ඩේවිඩ් ඔන්ගාරෝ

103

ප්‍රධාන නීති:

  1. ව්‍යාපෘතියේ පවතින කේතීකරණ ප්‍රමිතිය අනුගමනය කරන්න.
  2. කේතීකරණ ප්‍රමිතියක් නොමැති නම් සහ ඔබ වෙනත් කෙනෙකුට අයත් කේත කේතයක් සංස්කරණය කරන්නේ නම් - ඔබ කොතරම් කැමති / අකමැති වුවද, පවතින කේතයේ ශෛලියට අනුකූල වන්න.
  3. ඔබ හරිත-ක්ෂේත්‍ර ව්‍යාපෘතියක වැඩ කරන්නේ නම් - අනෙක් කණ්ඩායම් සාමාජිකයන් සමඟ සාකච්ඡා කර විධිමත් හෝ අවිධිමත් කේතීකරණ ප්‍රමිතියක් පිළිබඳ එකඟතාවයකට පැමිණෙන්න.
  4. ඔබ එකම සංවර්ධකයා ලෙස හරිත-ක්ෂේත්‍ර ව්‍යාපෘතියක වැඩ කරන්නේ නම් - ඔබේ මනස සකසාගෙන නිර්දය ලෙස අනුකූල වන්න .

ඔබට බාහිර සීමාවන් නොමැති වුවද, දැනට පවතින (පුළුල් ලෙස භාවිතා වන) කේතීකරණ ප්‍රමිතියක් හෝ විලාසිතාවේ මාර්ගෝපදේශයක් සොයා බැලීම වඩාත් සුදුසුය (IMO), එය උත්සාහ කර අනුගමනය කරන්න. ඔබ ඔබේම ශෛලිය රෝල් කළහොත්, වසර කිහිපයකින් ඔබ ඒ ගැන පසුතැවෙන්නට හොඳ අවස්ථාවක් තිබේ.

අවසාන වශයෙන්, පවත්නා ශෛලීය පරීක්ෂකවරුන් සහ කේත ආකෘති භාවිතා කරමින් ක්‍රියාත්මක කළ හැකි / ක්‍රියාත්මක කළ හැකි ශෛලියක් අතින් “බලාත්මක” කළ යුතු එකකට වඩා හොඳය.


10
මෙම පිළිතුරට වැඩි ඡන්ද ප්‍රමාණයක් ලැබිය යුතුය.
AShelly

1
අනුකූලතාව ප්‍රධාන ය
මීඩියා වින්ස්

72

පළමු ක්‍රමයේ ඇති වාසිය නම් එය වඩාත් සිරස් අතට සංයුක්ත වීමයි, එබැවින් ඔබට ඔබේ තිරය මත වැඩි කේතයක් සවි කළ හැකි අතර ඒ නිසා මම එයට කැමැත්තෙමි. දෙවන ක්‍රමයට පක්ෂව මා අසා ඇති එකම තර්කය නම් එය විවෘත හා වසා දැමීමේ වරහන් යුගල කිරීම පහසු කරයි, නමුත් බොහෝ IDE හි යතුරුපුවරු කෙටිමඟක් ඇති අතර එය ඇත්ත වශයෙන්ම සාවද්‍ය ප්‍රකාශයකි - ආරම්භක වරහන වසා දැමීම වෙනුවට යුගල කිරීම වෙනුවට වරහන ඔබට එකම අවහිරතා මට්ටමින් "වාරණ ආරම්භය" ප්‍රකාශනයට (එසේ නම්, එසේ නම්) වසා දැමීමේ වරහනක් යුගලනය කළ හැකිය, එබැවින් වාරණයේ ආරම්භය කොතැනද යන්න තීරණය කිරීම පහසුය.

ඉදි කිරීමට පෙර / සිටියදී / නම් දැනටමත් දෘශ්‍යමය වශයෙන් වාරණයක ආරම්භය පෙන්නුම් කරන විට වරහනක් සඳහා සම්පූර්ණ රේඛාවක්ම නාස්ති කිරීමට කිසිදු හේතුවක් මා දකින්නේ නැත.

එයින් කියැවෙන්නේ, වසා දැමීමේ වරහන එහි රේඛාවෙහි තිබිය යුතු යැයි මම විශ්වාස කරමි, මන්ද අපට කොටසක අවසානය සහ එහි ඉන්ඩෙන්ටේෂන් ව්‍යුහය දෘශ්‍යමාන ආකාරයකින් දැක්වීමට යමක් අවශ්‍ය වන බැවිනි.


12
නැත ... මම කියන්නේ කේතයේ පැහැදිලිකමට එකතු නොවන දෙයක් කිරීමෙන් ඔබේ තිරයට ගැලපෙන කේත ප්‍රමාණය අඩු කරන්නේ ඇයි?
EpsilonVector

7
මම කේතීකරණය ආරම්භ කරන විට සෑම
වරහනකටම

58
මුල් වාෂ්ප යුගයට (වෙයින්බර්ග්, “පරිගණක ක්‍රමලේඛනයේ මනෝ විද්‍යාව”) දක්වා දිවෙන විශාල පර්යේෂණ සමූහයක් ඇත, එයින් පෙන්නුම් කරන්නේ ක්‍රමලේඛකයාගේ අවබෝධය නාටකාකාර ලෙස පහත වැටෙන බවයි. එකවර දැකිය හැකිය (එනම්, තිර සහිත, එක් මුද්‍රණ පිටුවක්). මෙම සංසිද්ධිය සිරස් අවකාශය වටිනා සම්පතක් ලෙස දැකීම සඳහා දැඩි ලෙස තර්ක කරයි, එය අනවශ්‍ය ලෙස නාස්ති නොකෙරේ, එබැවින් පළමු ක්‍රමය වඩාත් සුදුසු වේ.
ජෝන් ආර්. ස්ට්‍රෝම්

10
LOL @ "සම්පූර්ණ රේඛාවක් නාස්ති කිරීම". OMG! එය නොවේ !! = පී
නික් ස්ප්‍රයිට්සර්

7
Ul ජුලියෝ විද්‍යාලයේ මම ක්‍රම 1 ට තදින්ම කැමති වූ අතර 2 වන ක්‍රමය කියවීමට නොහැකි විය. C # භාවිතා කරන සමාගමක වැඩ කිරීමට ගිය පසු, සම්මත 2 ක්‍රමය වන, මමත් ඒ හා සමානයි. මට දැන් කියවීමට හෝ භාවිතා කිරීමට හැකිය; කිසිවෙකු මට කරදර කරන්නේ නැත. එක් අයෙකු හෝ වෙනත් අයෙකු කෙරෙහි දැඩි ලෙස ප්‍රතිවිරුද්ධ ප්‍රතිචාරයක් දක්වන පුද්ගලයින් සාමාන්‍යයෙන් තමන් නොදන්නා දෙයකට අධික ලෙස ප්‍රතිචාර දක්වයි.
KChaloux

50

මම කැමතියි

if (you.hasAnswer())
{
    you.postAnswer();
}
else
{
    you.doSomething();
}

ඉවරයි

if (you.hasAnswer()) {
    you.postAnswer();
} else {
    you.doSomething();
}

you.postAnswer();බැලූ බැල්මට පේළිය කියවීමට හා සොයා ගැනීමට පහසු නිසා. දෙවන ආකාරයෙන්, එය ඊට ඉහළින් ඇති රේඛාව සමඟ මුසු වේ ( you.hasAnswer()) එය කියවීමට මගේ ඇස්වලට වැඩි අවධානයක් යොමු කළ යුතුය.


7
ඔබගේ වැඩසටහන ඔබගේ තිරයේ උස ඉක්මවා යන තෙක් මෙය සත්‍ය වේ. ;)
weberc2

14
program weberc2 ඔබේ වැඩසටහන තිරයේ උස ඉක්මවා ගිය විට පේළි දෙකක් අඩු වීම බොහෝ වෙනස් නොවන බව මම සිතමි.
මාගීක්

14
මීට වසර 10 කට පෙර මම තිර අවකාශය ගැන එකඟ වන්නෙමි. අද මම 1920 * 1200 තිරයක් භාවිතා කරමි. එය බොහෝ කේත වලට ගැලපේ, මගේ මොළයට එකවර සැකසීමට වඩා වැඩි යමක්. පළමු ක්‍රමය කියවා නොගෙන විවිධ විෂය පථයන් විවෘත කිරීම / වැසීම දැකීමට මට ඉඩ සලසයි.
ලයිට්ස්ට්‍රිකර්

3
මා මෙම ක්‍රමයට වැඩි කැමැත්තක් දැක්වූයේ මන්දැයි මට කිසි විටෙකත් වටහා ගත නොහැකි නමුත් එය හරියටම මේ සඳහා ය.
ඩෙක්ලන් මැකේනා

3
AgeMageek මෙය ප්‍රමාදයි, නමුත් එය පේළි 2 ක් නොවේ, සෑම විෂය පථයක් සඳහාම පේළි 2 කි. ඒ ඕ (එන්) මිස ඕ (1) නොවේ. මට ඒ ගැන එතරම් තදින් දැනෙන්නේ නැත; දිගු පරාමිති ලැයිස්තු කියවිය හැකි ශෛලියක් තෝරා ගැනීම වඩා වැදගත් ය.
weberc2

39

මම පළමු ක්‍රමයට කැමතියි. වරහන් මුළුමනින්ම වෙනම රේඛාවක් වටින්නේ නැත.

කාරණය වන්නේ වරහන් වැදගත් නොවේ. ඒවා හුදෙක් සින්ටැක්ටිකල් කුණු කූඩයක් වන අතර, එය කුමන කේතය සඳහාද, එහි අරමුණ සහ එය ක්‍රියාත්මක කරන ආකාරය අවබෝධ කර ගැනීම සඳහා අනවශ්‍යය. අඩු තිරයේ ඉඩ ප්‍රමාණයක් තිබීම නිසා ක්‍රියාකරුවන්ගේ දෘශ්‍ය කාණ්ඩගත කිරීම කළ නොහැකි පැරණි ආකාරයේ සී වැනි භාෂාවන්ට ඒවා උපහාරයක් පමණි.

භාෂා ඇත (පයිතන්, හැස්කෙල්, රූබි) වරහන් නොමැතිව කිසිසේත් හරි නැත. මෙය සනාථ කරන්නේ වරහන් කුණු කසළ පමණක් වන අතර හැකි සෑම විටම ඒවා සඳහා රේඛාවක් ලැබිය යුතු නොවේ:

if (you.hasAnswer()){
    you.postAnswer();
}else{
    you.doSomething();
}

7
මම හස්කල් හෝ රූබි ගැන නොදනිමි, නමුත් පයිතන් සුදු අවකාශය සංවේදී ය, ඒ නිසා කුට්ටි දැක්වීමට වරහන් හෝ වෙනත් පරිසීමක අවශ්‍ය නොවේ. වරහන් යනු සින්ටැක්ටිකල් ශබ්දය පමණක් නොවේ; ඒවා සැබෑ අරමුණක් ඉටු කරයි.
රොබට් හාවි

14
@Robert, C දී ඒ සඳහා ඔබ කළ දෙකම whitespace හා සඟල. පයිතන්හිදී ඔබ කළ යුත්තේ සුදු අවකාශය පමණි. වඩා හොඳ කුමක්ද?
පී ෂ්වේඩ්

5
APavel, C හි ඔබට වයිට්පේස් කිරීමට අවශ්‍ය නැත.
කෙන් බ්ලූම්

7
හිස් අවකාශයක් නොමැතිව කෙන් බ්ලූම් සී වැඩසටහන් කියවිය නොහැක. එබැවින් ඔබ ඒවා කෙසේ හෝ කළ යුතුය.
පී ෂ්වේඩ්

6
වරහන් හොඳ අදහසක් ද නැද්ද යන්න නොසලකා, ඒවා භාවිතා නොකරන භාෂාවන්හි පැවැත්ම ඔවුන් වෙනුවෙන් හෝ විපක්ෂව තර්කයක් ලෙස නොපෙනේ. එයින් ඇඟවෙන්නේ ඔවුන් නොමැතිව භාෂාවක් තිබිය හැකි බව මිස එය හොඳ හෝ දුර්වල භාෂා නිර්මාණයක් නොවන බවයි.
ජේසන්

37

පයිතන් භාවිතා කර තර්කය සම්පූර්ණයෙන්ම පසෙකට දමන්න.


17
+1SyntaxError: not a chance
සෙත්

6
මෙය හුදෙක් අතිමහත්, අතිමහත් ව්‍යාපෘති සඳහා විකල්පයක් නොවේ. ප්ලස්, කණ්ඩායම් කිරීම සඳහා වූ ඉන්ඩෙන්ටේෂන් හි ගැටළු වල කොටසක් තිබේ.
බ්‍රයන් ඕක්ලි

Ry බ්‍රයන්, මෙය ඉතා ප්‍රායෝගික නොවන බව මට වැටහී ඇත. මම හිතුවේ එය අදහස් දැක්වීමට වඩා ශක්තිමත් විය යුතු බවයි. ඔබ ඇඟවුම් කරන ඉන්ඩෙන්ටේෂන් නිසා ඇති වන ගැටලුවලට මම කිසි විටෙකත් නොගියෙමි, බොහෝ විට මම ටැබ් සහ අවකාශයන් මිශ්‍ර නොකරන නිසා විය හැකිය.
මාර්ක් රැන්සම්

Go භාවිතා කර තර්කය මුළුමනින්ම
පසෙකට දමන්න

4
ඉන්පසු අභ්‍යවකාශ තීරුව කිහිප වතාවක් ඔබා සම්පාදකයා / පරිවර්තකයා ඔබට සිනාසෙනු ඇත. බොහෝ වරහන් භාෂාවලින් එය සිදු නොවේ.
ෆරාප්

29

කැරලි වරහන් වල පිහිටීම විය යුතුය

මෙටා දත්ත

ක්‍රමලේඛකයා විසින් IDE තුළ වින්‍යාසගත කළ හැකිය. ඒ ආකාරයෙන්, කතුවරයා කුමක් වුවත්, සියලු කේතවල ඇති කරදරකාරී වරහන් එක හා සමානයි.


7
සම්පූර්ණයෙන්ම එකඟයි. එය ඉදිරිපත් කිරීම මිස දත්ත නොවේ.
පෙට්රූසා

ගැටලුව වන්නේ ඔබ සෑම කෙනෙකුටම තමන්ගේම දෑ සැකසීමට ඉඩ දුන්නොත්, කොමිස් සිදු වූ වහාම දේවල් අවුල් සහගත වීමයි.
ඇන්ඩි

1
Nd ඇන්ඩි: හරියටම කාරණය එයයි, IDE ඔවුන්ගේ පෙනුම වෙනස් කරයි, නමුත් IDE තුළ පමණි! සත්‍ය ප්‍රභවය ස්පර්ශ නොවනු ඇත. අනුවාද පාලනය සඳහා, කැරලි වරහන් සඳහා වූ ඕනෑම පසුබිමක් පොදු තත්වයකට පරිවර්තනය කරන කොකු එකතු කළ හැකිය, එවිට සෑම කෙනෙකුම කේතය එකම ආකාරයකින් පරීක්ෂා කරයි.
ක්ලාර්

laklaar මා භාවිතා කළ සෑම නවීන IDE එකක්ම ටැබ් අවකාශයට වෙනස් කර වරහන් ඔවුන්ගේම රේඛාවට හෝ “ආරම්භක” රේඛාවේ අවසානයට ගෙන යනු ඇත; මෙම අවස්ථා වලදී මූලාශ්‍රය ස්පර්ශ නොවන්නේ යැයි ඔබ සිතන්නේ මන්දැයි මට විශ්වාස නැත, මගේ අදහස් දැක්වීමට හේතුව එයයි. සංවර්ධකයින්ගේ සැකසීම් මත පදනම්ව එය සාමාන්‍යයෙන් IDEs විසින් වෙනස් කරනු ලැබේ, එයින් අදහස් වන්නේ බැඳීමක් අතරතුරදී වරහන් ඔවුන්ගේම රේඛාවට ගෙන යන විට ශබ්දය පමණක් වන වෙනස්කම් රාශියක් මා දකිනු ඇති අතර එමඟින් යමෙකු කළ සැබෑ වෙනස සැඟවිය.
ඇන්ඩි

Nd ඇන්ඩි: ඔබ විස්තර කළ ශබ්ද ගැටළුව මඟහරවා ගැනීම සඳහා, සුදු අවකාශය සහ වරහන් සම්බන්ධ විෂමතාවන් ඒකාකාරී ප්‍රමිතියකට පරිවර්තනය කරන කොකු භාවිතා කිරීමේ හැකියාවක් නැද්ද? කෙසේ හෝ නිසි අනුවාදකරණ පද්ධතියක් සුදු අවකාශය හෝ වෙනත් විකාර දේවල් වැනි සුළු දේ ඉක්මවා යා යුතුය .
ක්ලාර්

19

එය රඳා පවතියි.

මම Javascript හෝ jQuery හි කේත කරන්නේ නම්, මම පළමු පෝරමය භාවිතා කරමි:

jQuery(function($) { 
    if ($ instanceOf jQuery) { 
        alert("$ is the jQuery object!"); 
    } 
}); 

නමුත් මම C # හි කේත කරන්නේ නම්, මම දෙවන ආකෘතිය භාවිතා කරමි, මන්ද එය C # හි කළ හැකි කැනොනිකල් ක්‍රමයයි.

public int CalculateAge(DateTime birthDate, DateTime now) 
{ 
    int age = now.Year - birthDate.Year; 
    if (now.Month < birthDate.Month 
        || (now.Month == birthDate.Month && now.Day < birthDate.Day)) 
        age--; 
    return age; 
} 

ඔබේ උදාහරණය ලිවිය හැකි බව සලකන්න

if (you.hasAnswer())
    you.postAnswer();
else
    you.doSomething();

සී # හි.


1
බ්ලොක් ප්‍රකාශයක් ප්‍රකාශයක් වන නිසා එය එවැනි භාෂා ගණනාවකින් ලිවිය හැකිය. එකතු කිරීම! :-)
තමරා විජ්මන්

2
“රාමු සැලසුම් මාර්ගෝපදේශ” වලට අනුව “කැනොනිකල් ක්‍රමය” යනු ආරම්භක වරහන එකම පේළියක තැබීමයි (එනම් පළමු ආකෘතිය). කියන්න ...
we වේ හොනෙකැම්ප්

3
We අපි: සමහර විට. නමුත් මයික්‍රොසොෆ්ට් සිය සියලුම එම්එස්ඩීඑන් සී # උදාහරණ සඳහා “පෙලගැසී ඇති වරහන්” ප්‍රවේශය අනුගමනය කළ අතර එය දෘශ්‍ය ස්ටුඩියෝවට පුලුස්සනු ලැබේ, එබැවින් ...
රොබට් හාවි

WUwe: එය ක්වාලිනාගේ පොත වන අතර එය ඊට වඩා බොහෝ සෙයින් වැඩි බැවින් එය භයානක ලෙස නම් කර ඇත. එම්එස්ඩීඑන් හි එෆ්ඩීජී ගැන ඒ ගැන කීමට කිසිවක් නැත. C # කේතීකරණ පුහුණුව ගැන රාමු සැලසුම් මාර්ගෝපදේශ කිසිවක් පවසන්නේ මන්දැයි මම කල්පනා කරමි.
ආර්. මාටින්හෝ ෆර්නැන්ඩස්

3
ඇත්ත වශයෙන්ම, ඔබ ජාවාස්ක්‍රිප්ට් හි එකම පේළියට කැරලි වරහන් දැමිය යුතුය. කැරලි වරහන් ඔවුන්ගේම රේඛාවේ තිබේ නම් ඔබට දෝෂ ඇතිවිය හැකිය. උදාහරණයක් ලෙස, encosia.com/…
ජෝශප් හැන්සන්

19

මම පළමුවැන්නාට වඩා කැමතියි මෙම උදාහරණයේ වැරැද්ද දැකීම මට අපහසු නිසා.

if (value > maximum);
{
    dosomething();
}

එය මෙම උදාහරණයේ ඇතිවාට වඩා

if (value > maximum); {
    dosomething();
}

මෙම ; {සමඟ අවසන් වන රේඛාව වඩා මට වැඩි වැරදි පමණක් පෙනුම ;මම ඒ සල්ලි ඇති ඉඩකඩ වැඩි වෙනවා ඒ නිසා.


11
ඔබ හොඳ තර්කයක් ඉදිරිපත් කළත්, පෞද්ගලිකව, මෙය මට සිදුවී ඇත්තේ මගේ අවුරුදු 5 ක වැඩසටහන්කරණයෙන් එක් වරක් පමණි. එය ක්‍රියාත්මක නොවන්නේ මන්දැයි මට සිතාගත නොහැකි විය, එය SO හි පළ කරන ලද අතර යමෙකු ඉක්මනින් අර්ධ කොලන් මට පෙන්වා දුන්නේය. කෙසේ වෙතත්, එම 1 අඩු පේළිය භාවිතා කිරීම ensed නීභවනය වන සෑම අවස්ථාවකම මට කියවීමට අපහසු වේ.
ජේ ඩී අයිසැක්ස්

6
"; {" පෙනෙන්නේ එක්තරා ආකාරයක අමිහිරි මුහුණක් හෝ උඩු රැවුලක් ඇති පුද්ගලයෙකු ලෙසය.
glenatron

1
+1 පිළිතුරේ විශිෂ්ට උදාහරණය: ඉතා සියුම් වැරැද්ද, පහසුවෙන් නොසලකා හරිනු ලැබේ. මෙය පෙන්වන පිරිසැලසුම ගැනද සිතුවිලි අවුස්සයි.
therobyouknow

10
ඇත්ත වශයෙන්ම ඕනෑම යහපත් IDE එකක් හිස් පාලන ප්‍රකාශය සලකුණු කරන අතර ඕනෑම හොඳ සම්පාදකයෙකු අනතුරු ඇඟවීමක් කරයි.
ඩන්ක්

Unk ඩන්ක් ඔබගේ තර්කයේ ඇති එකම අඩුපාඩුව නම් (මම දැඩි ලෙස එකඟ වන) මේ දිනවල බොහෝ අය අර්ථකථන භාෂාවන් භාවිතා කිරීම (ජාවාස්ක්‍රිප්ට්, පීඑච්පී සහ වෙනත්) බොහෝ “ක්‍රමලේඛකයින්” දෙවරක් සම්පාදකයෙකු නොදැන සිටීමයි. ලැටේ.
ක්‍රේග්

16

මම 1 හි සුළු ප්‍රභේදයකට කැමතියි

if (you.hasAnswer()) {
    you.postAnswer();
} // note the break here
else {
    you.doSomething();
}

මන්ද?

  • මම හිතන්නේ සෑම විටම තමන්ගේම රේඛාවට වරහන් දැමීමෙන් කියවීමේ හැකියාව අඩු වේ. මට මගේ තිරයේ යම් ප්‍රභව කේත ප්‍රමාණයක් පමණක් සවි කළ හැකිය. වරහන් ශෛලිය 2) වේදනාකාරී ලෙස දිගු කැදැලි සහිත ලූප සහ කොන්දේසි සහිත ඇල්ගොරිතම සාදයි.

  • කෙසේ වෙතත්, මට ඕන elseනිසා නව පිලිවෙත ආරම්භ කිරීමට ifහා elseදෘශ්ය, එකට අයිති. ඉදිරිපිට වරහනක් තිබේ නම් else, අයිති දේ හඳුනා ගැනීම වඩා දුෂ්කර ය.

  • 3) නුසුදුස්සකු වීම. ඔබ වරහන් අතහැර ඒ ගැන අමතක කළහොත් සිදුවිය හැකි නරක දේ අපි කවුරුත් දනිමු.


1
මම වැඩ කරන තැන වටේට මේක දැකලා තියෙනවා. එය සිත්ගන්නා සුළුය.
ඇල්මෝ

1
elseඅවශ්‍ය විටෙක රේඛාවට ඉහළින් අදහස් දැක්වීමට සහ / හෝ අයිෆ්-බ්ලොක් සහ වෙනත් බ්ලොක් අතර හිස් රේඛාවක් තැබීමට ඉඩ සලසන හෙයින්, මෙම විලාසිතාවට වඩා මම කැමතියි . වරහන් ශෛලිය # 2 කොන්දේසි වලින් ක්‍රියා දුරස් කිරීම හැර වෙන කිසිවක් නොකරයි. ඒ සමඟම, මගේ ප්‍රියතමය නියත වශයෙන්ම
පයිතන්ගේ

4
තිරයේ ඇති කේත රේඛා ගණන උපරිම කිරීම වැදගත් නම් නව රේඛා සම්පූර්ණයෙන්ම ඉවත් කරන්න. ඔබට එක් තිරයක පේළි ගොඩක් ලබා ගත හැකිය. කියවීමේදී විරාමයක් තබා සිතීමට කිසිවක් හේතු නොවීමට මම කැමැත්තෙමි, එනම්. වඩාත් කියවිය හැකි මගේ අර්ථ දැක්වීම. වරහන් සමඟ මගේ මනස ඒවා නොසලකා හරියි. වරහන් නොමැතිව මගේ මනසට පාලක කොටස් විරාමයක් තබා පෙළගැස්විය යුතුය. දිගු විරාමයක් නොව, විරාමයක් කිසිවක් අඩු නොවේ.
ඩන්ක්

1
ඔව්, සහ වෙනත් නම්, නමුත් එසේ කරන්න {සහ} සහ} වෙනම පේළියක ඇති බැවින් {වෙනම රේඛාවක තිබිය යුතුය. "මට මගේ තිරයේ යම් ප්‍රභව කේත ප්‍රමාණයක් පමණක් සවි කළ හැකිය" ඒ නිසාම 3) "තමා නුසුදුස්සකු වීම" යැයි පැවසීම කිසිසේත්ම විකල්පයක් නොවේ. 3 සමඟ වැඩ කිරීමෙන් දශකයකට පසු 3) නව කේත පේළියක් එක් කිරීමේදී වරහන් එකතු කිරීම මට අමතක වී නැත, කවදාවත්, කවදාවත් සිටි කිසිවෙකු මම නොදනිමි. මට කේත සැකසීමට සිදුවුවහොත්, නිසි ලෙස කියවිය නොහැකි, එය අවසන් වන්නේ කොතැනින්ද? සමහර කේත පා readers කයන්ට ඒවා නොතේරෙන නිසා සමහර භාෂා විශේෂාංග භාවිතා කිරීම නවත්වන්නේද?
කයිසර්ලුඩි

10

කිසියම් පොතක කතුවරුන්ට ඔවුන්ගේ කේතය මේ ආකාරයට සංයුති කිරීමට අවශ්‍ය බව මම කොතැනක හෝ කියවා ඇත්තෙමි.

if (you.hasAnswer())
{
    you.postAnswer();
}
else
{
    you.doSomething();
}

නමුත් ඔවුන්ගේ ප්‍රකාශකයාගෙන් ඇති අවකාශය නිසා ඔවුන්ට මෙය භාවිතා කිරීමට සිදුවිය.

if (you.hasAnswer()) {
    you.postAnswer();
} else {
    you.doSomething();
}

එය සත්‍යයක් දැයි දැන් මම නොදනිමි (මට එය තවදුරටත් සොයාගත නොහැකි බැවින්), නමුත් දෙවන විලාසිතාව පොත්වල බහුලව දක්නට ලැබේ.

පුද්ගලික මට්ටමින් මම වෙනම පේළියක වරහන් වලට කැමතියි:

අ) ඔවුන් නව විෂය පථයක් දක්වයි
ආ) ඔබට නොගැලපීමක් ඇති වූ විට හඳුනා ගැනීම පහසුය (මෙය IDE හි ඇති ගැටලුවට වඩා අඩු වුවද ඔබ වෙනුවෙන් දෝෂ ඉස්මතු කරයි).


... දෙවන විකල්පය ඔබේ ලකුණු දෙකටම පහසුකම් සපයයි (වරහන / ඉන්ඩෙන්ටේෂන් කෝම්බෝ හි අරමුණ ඉටු කිරීම සඳහා ඉන්ඩෙන්ටේෂන් පමණක්). :)
weberc2

10

අහ්, එක් සැබෑ බ්‍රේස් විලාසිතාව .

ශුද්ධ වූ මාර්ගයක් සඳහා සෑම දෙයක්ම එහි තිබේ - අනාගතවක්තෘවරයකු පවා (රිචඩ් "මගේ මාර්ගය හෝ අධිවේගී මාර්ගය" ස්ටෝල්මන්).

මිනිහා ගොඩක් දේවල් ගැන ගොඩක් වැරදියි, නමුත් වරහන් ගැන කතා කරන විට GNU එක තැනට එනවා.


[යාවත්කාලීන කරන්න] මම ආලෝකය දුටුවෙමි, දැන් ඕල්මන්ට නමස්කාර කරන්න


9
ලිප්ස් කෝඩ් ආකෘති හැරුණු විට ග්නූ ශෛලියේ ලක්ෂ්‍යය මට නොපෙනේ. සුළු ප්‍රයෝජනයක් සඳහා විශාල වැඩ කොටසක් සේ පෙනේ.
රොබට් හාවි

GNU ශෛලිය භාවිතා කරන කිසිවෙකු ගැන මම නොදනිමි. 1TBS සියල්ලම.
Jé Queue

තොල් ශෛලිය හැරුණු විට ඔබට බ්ලොක් එකකට ඉන්ඩෙන්ටේෂන් මට්ටම් දෙකකට වඩා නරක දෙයක් කළ නොහැක, ඇත්ත වශයෙන්ම එය නොකියයි.
ergosys

4
වරහන් මෝස්තර පිළිබඳ සබැඳිය සඳහා +1. ඔබගේ ශෛලිය කුමක් වුවත් බොහෝ ශ්‍රේෂ් people පුද්ගලයන් ඔබ සමඟ එකඟ නොවන බව එයින් පෙනේ.
ෆ්ලෝරියන් එෆ්

O රොබට් හාර්වි අමතර වැඩක් නැත, එසේ නම්, ඔබ කේතය ලිවීමට හෝ එය නිවැරදිව වින්‍යාස කිරීමට නිවැරදි මෙවලම භාවිතා නොකරයි. වාසිය වඩාත් කියවිය හැකි කේතයකි, වරහනෙහි ඇති සෑම දෝෂයක්ම ඔබ ඉතා වේගයෙන් දකින අතර උප බ්ලොක් නොසලකා හරින විට ඔබට පහසුවෙන් කේතය පමණක් කියවිය හැකිය.
12431234123412341234123

9

දෙවන උදාහරණය, ​​කියවීමේ හැකියාව පිළිබඳ මම ඉතා විශාලය. වෙනත් මාර්ගයක් අවහිර කරන්නේ දැයි බැලීමට මට නොහැකිය = (


2
කේත පදනමක් තිරයේ උස ඉක්මවා ගිය පසු සංයුක්ත කේත කියවීම පහසු බව පර්යේෂණ වලින් පෙන්නුම් කෙරේ.
weberc2

5
@ weberc2, ඔබට එම පර්යේෂණ පත්‍රිකාව සඳහා DOIs ලබා දිය හැකිද?
ග්‍රෙස්ගෝර්ස් ඇඩම් කොවාල්ස්කි

9

සරල පිළිතුර: නිදොස් කිරීමට පහසු වන්නේ කුමක්ද?

// Case 1:
void dummyFunction() {
  for (i = 0; i != 10; ++i) {
    if (i <= 10)
      std::cout << "i is: " << i << "\n";
      std::cout << 10 - i << " steps remaining\n";

      // Some hard work here
      // which is really hard
      // and does take some screen estate
    }
    else
      std::cout << "We'll never get there";
  }
} // COMPILER ERROR HERE


// Case 2:
void dummyFunction()
{
  for (i = 0; i != 10; ++i)

    if (i <= 10)
    {
      std::cout << "i is: " << i << "\n";
      std::cout << 10 - i << " steps remaining\n";

      // Some hard work here
      // which is really hard
      // and does take some screen estate
    }
    else
      std::cout << "We'll never get there\n";
  }
} // COMPILER ERROR HERE

ඔබ මුලින්ම ගැටලුව හඳුනාගත්තේ කුමන අවස්ථාවේදීද?

මම පෞද්ගලික මනාප සඳහා වැදගත් කමක් නැහැ (whitesmith සහ අල් ඇතුළු තවත් බොහෝ ශෛලීන්, ඇත.) සහ මම බොහෝ වැඩක් නෑ ... එය කේතය හා කියවීමට මගේ හැකියාව බාධා කරන්නේ නැත තාක් කල් දෝශනිරාකරණ වාර්ථා එය.

"අපද්‍රව්‍ය අවකාශය" තර්කය සම්බන්ධයෙන්, මම එය මිලට ගන්නේ නැත: වැඩසටහන වඩාත් පැහැදිලි කිරීම සඳහා මම කෙසේ හෝ තාර්කික කණ්ඩායම් අතර හිස් රේඛා එක් කිරීමට නැඹුරු වෙමි ...


1
ඒවා දෙකම නිදොස්කරණය කිරීම පහසුය, ප්‍රධාන වශයෙන් එය කෙටි කේත කාණ්ඩයක් බැවින්. සත්‍ය කේත කොටස් දෘශ්‍යමාන කිරීම පහසු කරමින් ඉන්ඩෙන්ටේෂන් ස්ථාවර වේ.
Htbaa

THtbaa: ඇත්තෙන්ම :) ඉතින් ඇයි කරදර?
මැතිව් එම්.

AtMatthieuM. පළමු වාරණය මට වඩාත් අර්ථවත් කරයි, මන්දයත්, ක්‍රියාකාරී අත්සන, ප්‍රකාශය සඳහා සහ if-statement අතර නව රේඛා (දෙවන කොටසෙහි) ඒවා එකිනෙකට සම්බන්ධ නැති බව මා විශ්වාස කර ඇති නමුත් පැහැදිලිවම ඒවා එසේ නොවේ. හිස් රේඛා යනු සම්බන්ධ නොවූ බිටු කේත වෙන් කිරීමයි; වෙනත් කේත රේඛාවලට ආසන්න කේතයක් යනු ඒවා ඇත්ත වශයෙන්ම සම්බන්ධ බවයි. ඇත්ත වශයෙන්ම මේ සියල්ල 'ඉමෝ' ය, නමුත් ඔබේ අදහස කුමක්දැයි මම කල්පනා කළෙමි. සංස්කරණය කරන්න: ඕනෑම නිසි හැඳුනුම්පතක් මඟින් කිසියම් වරහනක් අස්ථානගත වී ඇති බව දැකගත හැකි අතර ඔබේ කේතය අර්ථ නිරූපණය කිරීමේදී දෝෂ කුඩා වේ.
ක්ලාර්

8

කිසිවෙකු නොදකින බව නොවේ, නමුත් කොන්දේසි සහිත කොන්දේසිවලට සමාන වරහන් අයත් වන්නේ මේ නිසාය (ඉතා දිගු කොන්දේසි හැර, නමුත් එය අද්දර නඩුවකි):

C හි, මෙය වලංගු ඉදිකිරීමකි:

අතර (සත්‍ය);
{
    char c;
    getchar (); // ආදානය සඳහා රැඳී සිටින්න
}

ඉක්මන්! මෙම කේතය කරන්නේ කුමක්ද? ඔබ "ආදානය ඉල්ලා අසීමිත පුඩුවක්" යනුවෙන් පිළිතුරු දුන්නේ නම්, ඔබ වැරදියි! එය ආදානයට පවා නොලැබේ. ඒක අහුවෙනවා while(true). අර්ධ සළකුණ අවසානයේ ඇති බව සැලකිල්ලට ගන්න. මෙම රටාව ඇත්ත වශයෙන්ම වඩාත් පොදු වන්නේ එය විය යුතු යැයි පෙනේ; බ්ලොක් එකක ආරම්භයේ දී ඔබේ විචල්‍යයන් ප්‍රකාශ කිරීමට සී ඔබට අවශ්‍ය වේ, එබැවින් නව එකක් ආරම්භ කරන ලදී.

කේත රේඛාවක් යනු සිතුවිල්ලකි. වරහන් යනු කොන්දේසි සහිත හෝ ලූප අඩංගු චින්තනයේ කොටසකි. එබැවින් ඒවා එකම රේඛාවකට අයත් වේ .


1
මෙය මා දුටු කේ ඇන්ඩ් ආර් ශෛලිය සඳහා ඇති හොඳම තර්කයයි, අනෙක් ඒවා කේත නැමීමේ සහාය ඇතිව වර්තමාන IDE පද්ධති සමඟ සිනාසෙයි. මෙය අදාළ වන්නේ ;බ්ලොක් කෙළවරට සහාය දක්වන සී විලාසිතාවේ භාෂාවන්ට පමණි . IMHO යල් පැන ගිය මෙම අවහිර කිරීමේ ක්‍රමය මම හෙළා දකින අතර Go භාෂාව එය සනාථ කරයි. මෙම තත්වය තුළ නොවුනත් මම මෙම ප්‍රශ්නය බොහෝ වාරයක් දැක ඇත්තෙමි. එය සාමාන්‍යයෙන් සිදුවන්නේ ඔවුන් ප්‍රකාශයට යමක් එකතු කර අමතක කිරීමට අදහස් කරන තැනකය.
ජෙරමි

5

මම පළමු ක්‍රමයට කැමතියි. එය ඉතා හොඳ IMO ලෙස පෙනේ, එය වඩාත් සංයුක්ත වේ, මම කැමතියි.

සංස්කරණය කරන්න: අහ්, තුනෙන් එකක්. හැකි සෑම විටම මම එයට කැමතියි, එය ඊටත් වඩා කුඩා / පිළිවෙලට.


5

ඔබට එය ලිවිය හැකිය:

you.hasAnswer() ? you.postAnswer() : you.doSomething();

ප්රශ්නයට පිළිතුරු දීමට; මම ඔවුන්ගේම රේඛාවෙන් කැරලි වරහන් වලට වැඩි කැමැත්තක් දැක්වුවෙමි, නමුත්, බ්‍රව්සර්වල ස්වයංක්‍රීය අර්ධ සළකුණු ඇතුළු කිරීමෙන් ඇති වන දෝෂ ගැන සිතීම වළක්වා ගැනීම සඳහා මම ජාවාස්ක්‍රිප්ට් සඳහා ඊජිප්තු විලාසිතාව භාවිතා කිරීමට පටන් ගතිමි. ජාවා සූර්යග්‍රහණයෙන් කේත කරන විට සුපුරුදු වරහන් ශෛලියට එරෙහිව සටන් කිරීමට (හෝ වින්‍යාස කිරීමට) මට කිසිදු උනන්දුවක් නොතිබුණි, එබැවින් මම ඊජිප්තු ජාතිකයා සමඟද ගියෙමි. දැන් මම දෙදෙනාම හොඳින්.


ඒ වගේ භාවිතා කිරීමට, postAnswer()සහ doSomething()බොහෝ විට මෙම නඩුව නොවන මිශ්ර ක්රියාකරු, වටිනාකමක් යළි උදා කළ යුතුයි: ඔවුන් ඉතා හොඳින් (කිසිදු අගය) බලරහිත යා හැකිය. තවද (අවම වශයෙන් c # වලින්) ?:
ප්‍රති result ලය

4

මෙහි ඇති ප්‍රතිචාර සියල්ලම පාහේ "ඔබ කුමක් කළත්, එකක් හෝ දෙකක් සමඟ රැඳී සිටින්න" යන්නෙහි යම් වෙනසක් පවසයි.

ඒ නිසා මම ඒ ගැන මොහොතකට කල්පනා කළ අතර, එය එතරම් වැදගත් දෙයක් ලෙස මා නොදකින බව පිළිගැනීමට සිදුවිය. පහත සඳහන් දෑ අනුගමනය කිරීම දුෂ්කර බව කිසිවෙකුට අවංකව මට පැවසිය හැකිද?

int foo(int a, Bar b) {
    int c = 0;
    while(a != c)
    {
        if(b.value[a] == c) {
            c = CONST_A;
        }
        c++;
    }
    return c;
}

වෙනත් කිසිවෙකු ගැන මට විශ්වාස නැත ... නමුත් විලාසයන් අතර මානසිකව පෙරළීම හා වෙනස් කිරීම මට කිසිසේත්ම ශුන්‍ය ගැටළු ඇත. කේතය කළේ කුමක්දැයි වටහා ගැනීමට මට මිනිත්තු කිහිපයක් ගත විය, නමුත් එය අහඹු ලෙස සී වැනි වාක්‍ය ඛණ්ඩය ටයිප් කිරීමේ ප්‍රති result ලයකි. :)

මගේ එතරම් නිහතමානී නොවන මතය අනුව, විවෘත වරහන් කේත කියවීමේ හැකියාව සඳහා සම්පූර්ණයෙන්ම අදාල නොවේ. ඉහත ලැයිස්තුගත කර ඇති අවස්ථා කිහිපයක් තිබේ, එහිදී එක් ශෛලියක් හෝ වෙනත් ශෛලියක් වෙනසක් ඇති කරයි, නමුත් බොහෝ දුරට, හිස් රේඛා යුක්තිසහගත ලෙස භාවිතා කිරීමෙන් එය පිරිසිදු වේ.

FWIW, අපගේ කේතීකරණ ශෛලීන් තරමක් ව්‍යුහාත්මක ආකෘති 1 සහ වෙනස් කළ ආකෘති 3 භාවිතා කරයි. (C ++)

            // blank line is required here
if (x) {
            //This blank line is required
   y = z;
}
            // blank line is required here too, unless this line is only another '}'

if (x) y = z; //allowed

if (x)
    y = z;  // forbidden

2 වන පෝරමයට දැඩි ලෙස කැමති අය මෙම පෝරමය 1 වඩා හොඳ ලෙස සොයා ගන්නේ නම් මට කුතුහලයක් ඇත, හිස් රේඛාව වඩා ශක්තිමත් දෘශ්‍ය වෙන්වීමක් ලබා දෙන නිසා.


4
ඔබේ උදාහරණයෙන් පෙන්නුම් කරන පරිදි, කියවිය හැකි කේත සඳහා වරහන් වලට වඩා ඉන්ඩෙන්ටේෂන් ඉතා වැදගත් වේ. ඇත්ත වශයෙන්ම, සමහර භාෂාවන් කූඩු ප්‍රකාශ සඳහා ඇති එකම ක්‍රමය ඉන්ඩෙන්ටේෂන් කරයි !

1
හරි, මම ඔබට නොගැලපෙන උදාහරණය කියවීමට අපහසු බව අවංකවම දකිමි. ඇත්තෙන්ම අමාරු නොවේ, නමුත් එය අනුකූල නම් වඩා අමාරුය.
ඇල්මෝ

මම ඇල්මෝ සමඟ එකඟ වෙමි. එය "එය ඇත්තෙන්ම දුෂ්කරද" යන්න පිළිබඳ සිද්ධියක් නොවේ. එය "එය නිශ්චිතවම අමාරුයි", එය අමාරු නොවුනත්. ඉතින් ඇයි දේවල් අමාරු කරන්නේ? මිනිසුන් ලබා දෙන “සෙල්ලම් බඩු” උදාහරණවල ඇත්ත වශයෙන්ම සුළු වෙනසක් ඇත. මගේ අත්දැකීම් අනුව, මම වෙනත් අයෙකුගෙන් නපුරු කේතයක් උරුම කර ගත් විට සහ ඔවුන් 1 වන ක්‍රමය භාවිතා කළ විට, නිතරම තර්කනය අනුගමනය කිරීමට හැකිවන පරිදි ඉදිරියට ගොස් එය ක්‍රම 2 බවට පත් කිරීම අවශ්‍ය වේ. එය නිතර අවශ්‍ය වන නිසා; වඩා හොඳ සහ තේරුම් ගැනීමට පහසු වන්නේ කුමන ක්‍රමයටද යන ප්‍රශ්නයට එය ස්වයංක්‍රීයව පිළිතුරු සපයයි.
ඩන්ක්

Unk ඩන්ක්: එවැනි අදාළ නොවන තොරතුරු හුවමාරු කර ගැනීමෙන් සැලකිය යුතු ලෙස වැඩිදියුණු කළ හැකි කේතයක් මට තේරුම් ගත නොහැක.
jkerian

ker jkerian- පෙනෙන විදිහට ඔබට දිගු කලක් ව්‍යාපෘතියෙන් හෝ සමාගමෙන් ඉවත්ව ගිය වෙනත් අයගෙන් බොහෝ කේත උරුම වී නොමැත. වසර ගණනාවක පළපුරුද්දක් ඇති කිසිවෙකුට එම තත්වයට නොපැමිණීම මට තේරුම් ගත නොහැකිය. නමුත් නැවතත්, සෑම කෙනෙකුගේම සේවා තත්වය වෙනස් වේ. එසේම, ඔබට "විධිමත්" කේත සමාලෝචන කිරීමට සිදුවුවහොත්, ආකෘතිකරණය සෑහෙන වෙනසක් කරයි. කේතය ස්වභාවිකව කියවීමට හැකිවීම ඉතා වැදගත් වේ. මට විරාමයක් තබා වරහන් ගැලපීමට සිතිය හැකි නමුත් එය ක්‍රියාවලිය මන්දගාමී කරයි. එක් ක්‍රමයකට විරාමයක් අවශ්‍ය නොවේ, අනෙක් ඒවා. වෙනත් තේරීමක් නිර්දේශ කළ හැක්කේ මන්දැයි මම නොදනිමි.
ඩන්ක්

4

මට පුදුමයි මේක තවම මතු කරලා නැහැ. මම දෙවන ප්‍රවේශයට වැඩි කැමැත්තක් දක්වන්නේ එය ඔබට වඩාත් පහසුවෙන් වාරණය තෝරා ගැනීමට ඉඩ සලසන බැවිනි.

වරහන් එකම තීරුවකින් සහ ඒවායේ රේඛාවෙන් ආරම්භ වන විට සහ අවසන් වන විට, ඔබට ආන්තිකයෙන් හෝ 0 තීරුවේ කර්සරය සමඟ තෝරා ගත හැකිය. මෙය සාමාන්‍යයෙන් මූසික තේරීම සමඟ වඩා ත්‍යාගශීලී ප්‍රදේශයකට හෝ යතුරුපුවරු තේරීම සමඟ යතුරු එබීම් අඩු වේ.

මම මුලින් කොන්දේසි සහිත එකම රේඛාවේ වරහන් සමඟ වැඩ කළෙමි, නමුත් මම මාරු වූ විට එය මා වැඩ කළ වේගය වේගවත් කළ බව මට පෙනී ගියේය. එය ඇත්ත වශයෙන්ම රාත්‍රිය සහ දිවා කාලය නොවේ, නමුත් එය ඔබගේ කොන්දේසි වලට යාබදව වරහන් සමඟ වැඩ කිරීම මන්දගාමී කරයි.


1
මා වැනි පැරණි ටයිමරයන් යතුරු පැදි තුනක් භාවිතා කර අවහිර වරහන් කොතැනක සිටියත් වාරණය තෝරා ගනී.
ergosys

2

මම පෞද්ගලිකව දෙවන ක්‍රමයට කැමතියි.

කෙසේ වෙතත්, මම නිරූපණය කිරීමට යන ආකාරය මගේ මතය අනුව හොඳම වන්නේ එය විශාලතම රැකියා සුරක්‍ෂිතතාවයට හේතු වන බැවිනි! මගේ විශ්ව විද්‍යාලයේ සෙසු සිසුවෙක් ඔහුගේ ගෙදර වැඩ සඳහා උදව් ඉල්ලා සිටි අතර ඔහුගේ කේතය කෙබඳුද? සම්පූර්ණ වැඩසටහන එක තනි බ්ලොක් එකක් වගේ. සිත්ගන්නා කරුණ නම් ඔහු විසින් සාදන ලද වැඩසටහනේ දෝෂ වලින් 95% ක්ම නොගැලපෙන වරහන් වලින් පැමිණීමයි. වරහන් ගැලපෙන විට අනෙක් 5% පැහැදිලිව පෙනෙන්නට තිබුණි.

while(1){
i=0;
printf("Enter coded text:\n");
while((s=getchar())!='\n'){
         if(i%1==0){
            start=(char*)realloc(input,(i+1)*sizeof(char));
if(start==NULL){
printf("Memory allocation failed!");
exit(1);}
input=start;}
      input[i++]=s;}
start=(char*)realloc(input,(i+1)*sizeof(char));
if(start==NULL){
printf("Memory allocation failed!!!");
exit(1);}
input=start;
input[i]='\0';
                puts(input);

9
නරක, නරක, මම අදහස් කළේ භයානක, භයානක උදාහරණයකි. ගැටලුව වන්නේ වරහන් නොවේ! එය පිස්සු ඉන්ඩෙන්ෂන්!
ආර්. මාටින්හෝ ෆර්නැන්ඩස්

Ar මාටින්හෝ ෆර්නැන්ඩස් මම සිතුවේ වරහන් සහ
ඉන්ඩෙන්ටේෂන් තැබීම

2
අවශ්‍ය නොවේ ... ඉහත සඳහන් දේ නිසි ලෙස ඇතුළත් කර අහඹු ලෙස වරහන් මෝස්තර මාරු කරන්න, එය තේරුම් ගත හැකි බව ඔබට පෙනී යනු ඇත.
jkerian

ඇත්ත වශයෙන්ම, මේ ගැන සිතීම මෙම ප්‍රශ්නයට මගේම පිළිතුරක් ලබා දුන්නේය.
jkerian

"ඔහු විසින් සාදන ලද වැඩසටහනේ දෝෂ වලින් 95% ක්ම නොගැලපෙන වරහන් වලින් පැමිණියේය" - සම්පාදනය නොකල අර්ථකථන භාෂාවලින් පමණි.
මාව් පවසන්නේ මොනිකා

2

මගේ පුද්ගලික මනාපය පළමු ක්‍රමය සඳහා වේ, බොහෝ විට මම මුලින්ම PHP ඉගෙන ගත් ආකාරය නිසා විය හැකිය.

තනි පේළි ifප්‍රකාශ සඳහා, මම භාවිතා කරමි

if (you.hasAnswer()) you.postAnswer();

එය එසේ you.postAnswer();නොව නමුත් දිගු කාලයක් වැනි දෙයක් නම්, you.postAnswer(this.AnswerId, this.AnswerText, this.AnswerType);මම බොහෝ විට පළමු වර්ගයට ආපසු යමි:

if (you.hasAnswer) {
    you.postAnswer(this.AnswerId, this.AnswerText, this.AnswerType);
}

මම කිසි විටෙකත් රේඛීය කඩනයක් භාවිතා නොකරමි, elseප්‍රකාශයක් ද තිබේ නම් මම කිසි විටෙකත් මෙම ක්‍රමය භාවිතා නොකරමි .

if (you.hasAnswer()) you.postAnswer();
else you.doSomething()

න්‍යායාත්මක හැකියාවක්, නමුත් මම කවදාවත් භාවිතා නොකරන එකක්. මෙය හැරවිය යුතුය

if (you.hasAnswer()) {
    you.postAnswer();
} else {
    you.doSomething();
}

2

ඔවුන් එසේ නොකළ යුතුය; මට පළමු ක්‍රමය.

මම දෙවන එක දෙස බලන විට, භාවිතයට නොගත් රේඛා නිසා (අන්තිම වසා දැමීමේ වරහන හැර, එහි වරහන් පමණක් ඇති), එය කේතයේ අඛණ්ඩතාව බිඳ දැමූ බවක් දැනේ. සාමාන්‍යයෙන් කේත අරමුණු වලින් වෙන්වීමක් හෝ මේ වගේ දෙයක් අදහස් කරන හිස් රේඛා කෙරෙහි විශේෂ අවධානයක් යොමු කළ යුතු නිසා මට එය වේගයෙන් කියවිය නොහැක, නමුත් කිසිම අවස්ථාවක “මෙම රේඛාව අයත් වන්නේ කැරලි වරහනකටය” (එයින් අර්ථය පුනරාවර්තනය වේ indentation හි).

කෙසේ වෙතත්, ඔබ පෙළ ලියන විට මෙන් ... ඡේදයක ආරම්භයේ දී අක්ෂර වින්‍යාසයක් එක් කිරීම ඊට පෙර හිස් රේඛාවක් තිබේ නම් එය අතිරික්ත වේ (ඡේද වෙනස් කිරීමේ ද්විත්ව ලකුණ), අප සිටින විට වරහන් සඳහා රේඛා නාස්ති කිරීමේ අවශ්‍යතාවක් නොමැත. නිසි ලෙස ඇතුල් කිරීම.

ප්ලස්, දැනටමත් සඳහන් කර ඇති පරිදි, එය තිරයේ වැඩි කේතයක් සවි කිරීමට ඉඩ සලසයි, එසේ නොමැතිනම් එය ටිකක් ප්‍රති p ලදායක වේ.


2

එය වේදිකාව / භාෂාව / සම්මුතීන් මත රඳා පවතී

ජාවා හි:

void someMethod() { 
     if (you.hasAnswer()) {
         you.postAnswer();
     } else {
       you.doSomething();
     }
}

සී # හි

void someMethod() 
{ 
     if (you.hasAnswer()) 
     {
         you.postAnswer();
     } 
     else 
     {
       you.doSomething();
     }
}

සී හි:

void someMethod() 
{ 
     if (you_hasAnswer()) {
         you.postAnswer();
     } else {
       you_doSomething();
     }
}

ජාවා කොල්ලෝ ඔවුන්ගේ ශෛලිය C # කේතයෙන් සහ අනෙක් අතට භාවිතා කරන විට මම වෛර කරමි.


3
සී විලාසිතාව නිතරම මට කරදර කළා. ස්ථාවර වන්න!
ක්‍රිස්ටියන් මෑන්

1

මට පැවසිය හැක්කේ ඔබ # 3 ක්‍රමයේ රසිකයෙක් නම්, පෘථිවියේ සෑම IDE කේත-ආකෘතිකරුවෙකු විසින්ම ඔබට පීඩා කරනු ඇති බවයි.


1

මම පළමු ක්‍රමය භාවිතා කරන්නේ එය වඩාත් සංයුක්ත වන නිසා සහ තිරයේ වැඩි කේතයකට ඉඩ දෙන බැවිනි. වරහන් යුගල කිරීම සම්බන්ධයෙන් මට කිසි විටෙකත් ගැටළුවක් නොවීය ( ifතත්වය එකතු කිරීමට පෙර ප්‍රකාශය සමඟ මම ඒවා නිතරම ලියා තබමි. බොහෝ පරිසරයන් ඔබට ගැලපෙන වරහනට පනින්නට ඉඩ දෙයි).

ඔබ නම් කළ දෘශ්ය සඟල වරහන් යුගල කිරීමට අවශ්ය, මම දෙවැනි ක්රමය, කැමති වනු ඇත. කෙසේ වෙතත් එමඟින් වරකට අඩු කේතයකට ඉඩ ලබා දෙන අතර එමඟින් ඔබට තවත් අනුචලනය කිරීමට අවශ්‍ය වේ. පිළිවෙලින් පෙලගැසී ඇති වරහන් තිබීමට වඩා කියවීමේ කේතයට එය අවම වශයෙන් බලපායි. මම අනුචලනය කිරීමට අකමැතියි. නැවත වරක්, ඔබට තනි එකක් හරහා අනුචලනය කිරීමට අවශ්‍ය නම්if ප්‍රකාශයක් , එය බොහෝ දුරට විශාල වන අතර නැවත ප්‍රතිනිර්මාණය කිරීම අවශ්‍ය වේ.

එහෙත්; සියල්ලටම වඩා වැදගත් දෙය වන්නේ අනුකූලතාවයි. එකක් හෝ අනෙකක් භාවිතා කරන්න - කිසි විටෙකත් දෙකම නොකරන්න!


0

මයික්‍රොසොෆ්ට් කේතීකරණ නිබන්ධන ඒ හා සමාන බැවින් මම පළමු වරට වැඩසටහන් 12 ක් ඉගෙන ගන්නා විට, මම ඊළඟ පේළියට වරහන් තැබුවෙමි. මමත් ඒ අවස්ථාවේ අවකාශ 4 කින් යුත් ටැබ්ස් සමඟ අත්සන් කළෙමි.

අවුරුදු කිහිපයකට පසු, මම ජාවා සහ ජාවාස්ක්‍රිප්ට් ඉගෙන ගත් අතර, එකම වර්‍ග කේත මත තවත් වරහන් දුටුවෙමි, එබැවින් මම වෙනස් විය. මම ද 2-අවකාශ අවකාශයන් සමඟ ඉන්ඩෙන්ට් කිරීමට පටන් ගතිමි.


5
+1, -1. ඕනෑම සංස්කාරකයෙකුට ටැබ් දිග ඔබේ අත්තනෝමතික දිගට වෙනස් කළ හැකි බැවින් ඔබ ටැබ් සමඟ ඇතුල් නොවන්නේ ඇයි? එසේ නොමැතිනම්, ඔබේ කේතයට ශාප කිරීම සඳහා සැබෑ ඉන්ඩෙන්ට් 8 ට කැමති අප බොහෝ දෙනෙකුට ඔබ නායකත්වය දෙයි.
Jé Queue

0

4 වන විකල්පය ඇත, එය වරහන් පෙලගැසී ඇති නමුත් ඉඩ නාස්ති නොකරයි:

if (you.hasAnswer())
{    you.postAnswer();
     i.readAnswer();
}
else
{   you.doSomething();
}

එකම ගැටළුව වන්නේ බොහෝ IDE හි ස්වයංක්‍රීය ආකෘතිකරුවන් මෙය යටපත් කිරීමයි.


10
... බොහෝ වැඩසටහන්කරුවන් මෙන් මෙය යටපත් කරනු ඇත.
Jé Queue

4
එය බිහිසුණු බවක් පෙනේ. ඔබට ඉහළින් පේළියක් ඇතුළු කිරීමට අවශ්‍ය නම් හෝ ඉහළ පේළිය ඉවත් කිරීමට අවශ්‍ය නම් ඔබ කළ යුතු අමතර උත්සාහය ගැන සිතන්න. ඔබට පේළිය මකා දමා ඉදිරියට යා නොහැක, කැරලි වරහන නැවත ඇතුළත් කිරීමට මතක තබා ගත යුතුය.
බ්‍රයන් ඕක්ලි

lol මේක නියමයි! :) පළමු විලාසිතාවට වඩා හොඳයි!
නව්ෆල්

පෙනෙන විදිහට එයට නමක් පවා තිබේ. හෝස්ට්මන් සයිල් විකිපීඩියාවේ සඳහන් වේ . මම මේ වගේ කේත පදනමක් සමඟ වැඩ කර ඇත්තෙමි, එය භාවිතා කිරීම නරක නැත.
අෂෙලි

-1

ව්‍යාපෘති කළමණාකරු විසින් යම් කේතීකරණ අවහිරතා හෝ ප්‍රමිති නියම කර ඇති ව්‍යාපෘතියක ඔබ වැඩ නොකරන තාක් කල් ඒ සියල්ල ඔබ මත රඳා පවතී.

මම පෞද්ගලිකව 1 වන ක්‍රමයට කැමතියි.

3 වන ක්‍රමය මඟින් ඔබට පෙන්වීමට අවශ්‍ය දේ මට නොලැබුණි?

එය වැරදි ක්‍රමයක් නොවේද? උදාහරණයක් ලෙස තත්වයක් ලෙස සලකන්න ..

if (you.hasAnswer())
  you.postAnswer();
else
  you.doSomething();

දැන් කෙනෙකු තුළ තව ප්රකාශ එකතු කිරීමට අවශ්ය දේ නම් නම් block කුමක් කළ යුතුද?

එවැනි අවස්ථාවක ඔබ 3 වන ක්‍රමය භාවිතා කරන්නේ නම් සම්පාදකයා සින්ටැක්ස් දෝෂය විසි කරයි.

if (you.hasAnswer())
   you.postAnswer1();
   you.postAnswer2();
else
   you.doSomething();

2
යමෙක් පැමිණ එසේ කළහොත් ඊටත් වඩා භයානක වනු ඇත්තේ: if (you.hasAnswer ()) you.postAnswer (); else you.doSomething (); you.doSomethingElse (); - එය සියුම් දෝෂ සඳහා වූ වට්ටෝරුවකි, ඇසට පහසුවෙන් ලිස්සා යා හැකි අතර සම්පාදකයාද උදව් නොකරයි
FinnNk

InFinnNk: හරියටම!
චන්කි පතක්

2
යමෙකුට වෙනත් ප්‍රකාශයක් එක් කිරීමට අවශ්‍ය නම්, ඔවුන්ට වරහන් දැමිය හැකිය. ඔහුගේ ලුණු වටිනා ඕනෑම ක්‍රමලේඛකයෙකුට එය තේරුම් ගැනීමට හැකි විය යුතුය.
රොබට් හාවි

ඔහුගේ 3 වන ක්‍රමය වැරදියි කියා මට පැවසීමට අවශ්‍ය විය.
චන්කි පතක්

3
O රොබට් හාවි, දැනට පවතින කේතය වෙනස් කිරීමේදී පළපුරුදු කෝඩර් වරහන් එකතු කිරීම මග හැරී ඇති බව මම දැක ඇත්තෙමි. මම හිතන්නේ ගැටලුව වන්නේ ඉන්ඩෙන්ටේෂන් යනු වරහන් වලට වඩා අර්ථයට වඩා ප්‍රබල ඉඟියක් වීමයි (විශේෂයෙන් බ්‍රේස් මෝස්තර කිහිපයක් ඇති බැවින්), එබැවින් ඉන්ඩෙන්ටේෂන් ඔබ අපේක්ෂා කරන ආකාරයට පෙනේ නම් නැතිවූ වරහන නොසලකා හැරීම පහසුය.
අෂෙලි
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.