مقایسه
این traitها از مقایسه بین مقادیر پشتیبانی میکنند. همهی این traitها را میتوان برای تایپهایی که شامل فیلدهایی هستند که این traitها را پیادهسازی میکنند، بهدست آورد.
PartialEq
and Eq
PartialEq
یک رابطه همارزی جزئی است که دارای متد الزامی eq
و متد ارائهشده ne
میباشد. عملگرهای ==
و =!
این متدها را فراخوانی میکنند.
Eq
یک رابطه همارزی کامل است (بازتابی، متقارن، و transitive) و شامل PartialEq
میشود. توابعی که به همارزی کامل نیاز دارند، از Eq
بهعنوان یک trait bound استفاده میکنند.
PartialOrd
and Ord
PartialOrd
یک ترتیب جزئی را تعریف میکند و دارای متد partial_cmp
است. این ویژگی برای پیادهسازی عملگرهای <
، <=
، >=
و >
استفاده میشود.
Ord
یک ترتیب کامل است که در آن متد cmp
مقدار Ordering
را برمیگرداند.
Speaker Notes
This slide should take about 5 minutes.
PartialEq
میتواند بین تایپهای مختلف پیادهسازی شود، اما Eq
نمیتواند، زیرا بازتابی است:
در عمل، معمولاً این traitها بهطور خودکار بهدست میآیند، اما کمتر پیش میآید که آنها بهطور دستی پیادهسازی شوند.