Middle
Ruby'de '===' operatörü nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Ruby'de === (üç eşittir) operatörü, case equality operator olarak adlandırılır.
case/when ifadelerinde kullanılır ve sınıflar tarafından, sol operand tarafından temsil edilen "kategori" veya "aralık"'a ait olup olmadığını kontrol etmek için tanımlanır.
=== operatörünün davranışı, sol operandın sınıfına bağlıdır.
Örnekler:
ModuleSınıfı: Sağ operandın, modül/sınıf örneği veya alt sınıfı olup olmadığını kontrol eder.# Sağ operandın String örneği veya alt sınıfı olup olmadığını kontrol eder. String === "hello" # => trueRangeSınıfı: Sağ operandın aralık içinde olup olmadığını kontrol eder.# 5'in 1..10 aralığında olup olmadığını kontrol eder. (1..10) === 5 # => trueRegexpSınıfı: Dize'nin düzenli ifadeye uyup uymadığını kontrol eder.# "/ruby/" dizisinin /ruby/ düzenli ifadesiyle eşleşip eşleşmediğini kontrol eder. /ruby/ === "/ruby/" # => trueProcSınıfı: Bir blok çağırır ve sağ operandı argüman olarak kullanır.# Bir bloğu, argüman olarak 5 ile çağırır. ->(x) { x > 3 } === 5 # => trueSymbolSınıfı: Bir sembolü başka bir dize veya sembol ile karşılaştırır.# :test sembolünü "test" dizesi ile karşılaştırır. :test === "test" # => true
Çoğu diğer sınıfta, === == gibi davranır.
case/when'de Kullanımı:
case condition ifadesi, her when değeri üzerinde === çağrılarına eşdeğerdir ve condition sağ operand olarak kullanılır.
# String === value ile eşdeğerdir
# Ardından Integer === value
case value
when String
# ...
when Integer
# ...
end