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