Middle
Ruby-də '===' operatoru nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Ruby-də === (üç bərabər) operatoru case equality operator adlanır.
O, case/when ifadələrində istifadə olunur və sinflər tərəfindən təyin edilir ki, sağ operand sol operand tərəfindən göstərilən "kateqoriya" və ya "aralık"-a aid olub-olmadığını yoxlamaq üçün.
=== operatorunun davranışı sol operandın sinfinə bağlıdır.
Nümunələr:
Modulesinfi: Sağ operandın modul/klassın nümunəsi və ya törəməsi olub-olmadığını yoxlayır.# Sağ operandın String və ya onun törəməsi olub-olmadığını yoxlayır. String === "hello" # => trueRangesinfi: Sağ operandın aralıkda olub-olmadığını yoxlayır.# 5-in 1..10 aralığında olub-olmadığını yoxlayır. (1..10) === 5 # => trueRegexpsinfi: Mətnin regex ilə uyğun olub-olmadığını yoxlayır.# "/ruby/" mətninin /ruby/ regex ilə uyğun olub-olmadığını yoxlayır. /ruby/ === "/ruby/" # => trueProcsinfi: Bloku çağırır və sağ operandı arqument kimi istifadə edir.# Bloku 5 arqumenti ilə çağırır. ->(x) { x > 3 } === 5 # => trueSymbolsinfi: Simvolu başqa bir mətn və ya simvol ilə müqayisə edir.# :test simvolunu "test" mətn ilə müqayisə edir. :test === "test" # => true
Əksər digər sinflərdə === == kimi davranır.
case/when-də tətbiqi:
case condition ifadəsi hər when dəyərinə === çağırışlarının ardıcıllığı ilə bərabərdir və condition sağ operand kimi istifadə olunur.
# String === value ilə eynidir
# Sonra Integer === value
case value
when String
# ...
when Integer
# ...
end