Middle
Ինչ է '===' օպերատորը Ruby-ում?
sobes.tech AI
Պատասխան AI-ից
Ruby-ում === (երեք հավասար նշան) օպերատորը կոչվում է դեպքի հավասարության օպերատոր (case equality operator)։
Այն օգտագործվում է case/when արտահայտություններում և սահմանվում է դասարանների կողմից՝ ստուգելու համար, արդյոք աջ օպերանդը պատկանում է այն "կատեգորիա" կամ "տարածք"-ին, որը ներկայացված է ձախ օպերանդով։
=== օպերատորի վարքագիծը կախված է ձախ օպերանդի դասից։
Օրինակներ՝
Moduleդասը: Ստուգում է, արդյոք աջ օպերանդը մոդուլի/դասի օրինակն է կամ ժառանգորդը։# Ստուգում է, արդյոք աջ օպերանդը String-ի օրինակն է կամ ժառանգորդը։ String === "hello" # => trueRangeդասը: Ստուգում է, արդյոք աջ օպերանդը տիրապետում է տիրույթին։# Ստուգում է, արդյոք 5-ը գտնվում է 1..10 տիրույթում։ (1..10) === 5 # => trueRegexpդասը: Ստուգում է, արդյոք տողը համապատասխանում է ռեգուլյար արտահայտությանը։# Ստուգում է, արդյոք "/ruby/" տողը համապատասխանում է /ruby/ ռեգուլյար արտահայտությանը։ /ruby/ === "/ruby/" # => trueProcդասը: Զանգահարում է բլոկը աջ օպերանդով որպես արգումենտ։# Զանգահարում է բլոկը 5 արգումենտով։ ->(x) { x > 3 } === 5 # => trueSymbolդասը: Համեմատում է սիմվոլը այլ տեքստի կամ սիմվոլի հետ։# Համեմատում է :test սիմվոլը "test" տեքստի հետ։ :test === "test" # => true
Ամենայն այլ դասարաններում === գործելակերպը նման է ==-ի։
Օգտագործում case/when-ում:
case condition արտահայտությունը համարժեք է === կանչերի շարքին յուրաքանչյուր when արժեքի վրա, որտեղ condition-ը հանդիսանում է աջ օպերանդը։
# Համարժեք է String === value-ին
# Հետո Integer === value-ին
case value
when String
# ...
when Integer
# ...
end