Ես փորձում եմ հասկանալ իմ դասախոսի գրած ծածկագիրը։ Օրենսգրքում կա մի տող, որն ասում է
a = (b > c) ? c : b;
որտեղ a, b և c պարզապես լողացող փոփոխականներ են: Առաջին անգամ եմ տեսնում այդ արտահայտությունը։ Փորձեցի գուգլել, բայց ոչինչ չստացվեց։ Ողջունելի է ցանկացած բացատրություն կամ հղում սրա համար: Շնորհակալություն.
condition ? <result_if_true> : <result_if_false>
է: 03.12.2017if
հայտարարությանը չշաքարավազացնելու համար: Համաձայն եմ, դա կարող է ուղղակի հարաբերակցություն չլինի, բայց նույնիսկ այնպիսի բարդ բան, ինչպիսին է.x = a ? (b ? c : d) : (e ? f : g)
-ը, կարելի է վերափոխել մի քանի ներդիրif
պնդումների: Բացի այդ,foo(x ? y : z)
-ի պես մի բան կարելի է շաքարազրկելif (x) foo(y); else foo(z);
ի 03.12.2017variable = whatever
որպես ենթարտահայտություն: Դուք չեք կարող դա անել եթե-ներով: 03.12.2017if
հայտարարության: Ես երբեք անձամբ չեմ հանդիպել մեկի (գուցե ես պարզապես բավական երկար ժամանակ չեմ կոդավորել): Ես հասկանում եմ, որ դրանք տարբեր են կոնցեպտուալ առումով, բայց, իմ գիտելիքներով, դրանք հիմնականում հավաքվում են նույն ժողովին: (Նաև, ես գտնում եմ, որif
թարգմանությունը արդյունավետ միջոց է եռյակ արտահայտությունները բացատրելու մարդկանց, ովքեր ծանոթ չեն շարահյուսությանը: Դա, մասամբ, որոշեցի այն ներառել իմ պատասխանի մեջ:) 03.12.2017variable = if ...
: Կամ, օրինակ,bar(foo(x ? y : z))
: Զանգըfoo
ին չի փոխարինվում հայտարարությամբ: 03.12.2017if
հայտարարությունը երբեք չի փոխարինում եռակի արտահայտությանը: Իմ կարծիքն այն է, որ յուրաքանչյուր եռակի արտահայտության համար միշտ կա արդյունքի համարժեքif
հայտարարություն (կամ դրանց համակցություն): 03.12.2017