♻️
Swift: [Equatable]?の比較
func ==<Element: Equatable>(lhs: [Element]?, rhs: [Element]?) -> Bool {
return lhs.map { l in rhs.map { l == $0 } ?? false }
?? rhs.map { r in lhs.map { $0 == r } ?? false }
?? true
}
こんなかんじで!=
とかも実装すればいいと思う
Array<Element: Equatable>
とかOptional<Wrapped: Equatable>
がEquatable
だったらこんなわけわからんことせんで良かったのに
参考
Discussion