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) арзиш дар контексти амалҳои булео ва сохторҳои шарти истифода мешавад.