Junior
Ի՞նչ է անում երկու հևքի նշանի օպերատորը ծրագրավորման լեզվում։
sobes.tech AI
Պատասխան AI-ից
Արժեքը փոխում է բուլեո։ Սա համընկնում է ոչ (!) օպերատորի կրկնակի կիրառման հետ։
Առաջին ! փոխում է արժեքը բուլեո տիպի և հակադարձում այն։ Օրինակ, ոչ դատարկ տող 'abc' դառնում է false, իսկ 0 — true։
Երկրորդ ! հակադարձում է առաջինի արդյունքը և վերադարձնում է արժեքի սկզբնական բուլեո ներկայացումը։ Այսպիսով, 'abc' դառնում է true, իսկ 0 — false։
JavaScript-ում օրինակներ՝
// ոչ դատարկ տողի փոխարկում
console.log(!!'հա'); // true
// 0 թվի փոխարկում
console.log(!!0); // false
// null-ի փոխարկում
console.log(!!null); // false
// undefined-ի փոխարկում
console.log(!!undefined); // false
// դատարկ զանգվածի փոխարկում
console.log(!![]); // true
// դատարկ օբյեկտի փոխարկում
console.log(!!{}); // true
Python-ում օրինակներ՝ (համենայն դեպս, Python-ում չկա !! օպերատոր, բայց կարելի է իմիտացնել նրա վարքագիծը):
# bool() օգտագործելով
print(bool('հա')) # True
print(bool(0)) # False
print(bool([])) # True
print(bool({})) # True
# not not օգտագործելով
print(not not 'հա') # True
print(not not 0) # False
print(not not []) # True
print(not not {}) # True
Հիմնական նպատակը — բացահայտ փոխարկում բուլեո, որը հաճախ օգտագործվում է արժեքի "ճշմարտության" (truthiness) ստուգման համար բուլեո օպերացիաների և պայմանական կառուցվածքների կոնտեքստում։