Հանգիստ դնելով առեղծվածին

Ես միշտ դժվարանում էի իմանալ՝ կարո՞ղ եմ օգտագործել եռակի օպերատոր ((պայման) ? a : b) իմ ծածկագրում, թե ոչ: Ինձ երբեք պարզ չդարձավ, թե ինչ իրավիճակ պետք է ստեղծվի, որպեսզի այս օպերատորը տեղակայվի: Ի վերջո, ես պարզեցի այս հանելուկը: Ժամանակն է կիսվել այս հայտնագործությամբ աշխարհի հետ: Եռակի օպերատորը կարող է օգտագործվել, երբ ինչ-որ բան վերադարձվում է, անկախ նրանից, թե մեկ պայմանը գնահատվում է ճիշտ կամ կեղծ: Սա հասկանալու լավագույն միջոցը թվի ֆակտորիալը հաշվելու ռեկուրսիվ իրականացումն է:

Վերևում կատարման ընթացքում դուք կարող եք տեսնել, որ անկախ պայմանը գնահատվում է true կամ false, ֆունկցիան դեռևս արժեք է վերադարձնում: Երբ փորձարկվում է մեկ պայման, որը վերադարձնում է արժեք (եթե պայմանը ճշմարիտ է), և կանխադրված վերադարձ (եթե պայմանը false է), ապա կարող է օգտագործվել եռակի օպերատոր:

Եռակի օպերատորի կիրառումը հանգեցնում է ռեկուրսիվ գործոնային իրականացման, որը պահանջում է միայն մեկ տող կոդ: Ես գիտեմ, որ ժամանակի բարդությունը խայտառակ է (ռեկուրսիայի պատճառով), բայց օրինակը ոչ մեկին չի զիջում։ Հուսով ենք, որ սա կօգնի ինչ-որ մեկին հասկանալու այս խուսափողական օպերատորին: