আমি দুটি সুইফট এনাম মানের সমতা পরীক্ষা করতে চাই। উদাহরণ স্বরূপ:
enum SimpleToken {
case Name(String)
case Number(Int)
}
let t1 = SimpleToken.Number(123)
let t2 = SimpleToken.Number(123)
XCTAssert(t1 == t2)
তবে সংকলক সমতা প্রকাশটি সংকলন করবে না:
error: could not find an overload for '==' that accepts the supplied arguments
XCTAssert(t1 == t2)
^~~~~~~~~~~~~~~~~~~
আমি কি সমতা অপারেটরের নিজের ওভারলোডটি সংজ্ঞায়িত করেছি? আমি আশা করছিলাম সুইফট সংকলকটি স্বয়ংক্রিয়ভাবে এটি পরিচালনা করবে, অনেকটা স্কালা এবং ওক্যামেলের মতো।
Equatable
এবং Hashable
সম্পর্কিত মানগুলির সাথে এনামগুলির জন্যও সমর্থন করে ।