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