সুইফ্ট 5 সহ max(_:_:)
এবং min(_:_:)
এটি গ্লোবাল নিউমেরিক ফাংশনের অংশ । max(_:_:)
নিম্নলিখিত ঘোষণা আছে:
func max<T>(_ x: T, _ y: T) -> T where T : Comparable
আপনি Int
এস এর সাথে এটি ব্যবহার করতে পারেন :
let maxInt = max(5, 12)
এছাড়াও নোট করুন যে আরও কিছু ফাংশন বলা হয় max(_:_:_:_:)
এবং min(_:_:_:_:)
এটি আপনাকে আরও বেশি পরামিতিগুলির তুলনা করতে দেয়। max(_:_:_:_:)
নিম্নলিখিত ঘোষণা আছে:
func max<T>(_ x: T, _ y: T, _ z: T, _ rest: T...) -> T where T : Comparable
আপনি Float
এস এর সাথে এটি ব্যবহার করতে পারেন :
let maxInt = max(12.0, 18.5, 21, 26, 32.9, 19.1)
সুইফ্টের সাথে তবে আপনি max(_:_:)
সংখ্যা এবং এর সহোদরগুলি ব্যবহারের মধ্যে সীমাবদ্ধ নন । প্রকৃতপক্ষে, এই ফাংশনগুলি জেনেরিক এবং Comparable
প্রোটোকলের সাথে সঙ্গতিপূর্ণ যে কোনও প্যারামিটার ধরণ গ্রহণ করতে পারে String
, তা হতে পারে , Character
বা আপনার কাস্টমগুলির একটি হতে পারে class
বা struct
।
এর মাধ্যমে, নিম্নলিখিত খেলার মাঠের নমুনা কোডটি পুরোপুরি কার্যকর করে:
class Route: Comparable, CustomStringConvertible {
let distance: Int
var description: String {
return "Route with distance: \(distance)"
}
init(distance: Int) {
self.distance = distance
}
static func ==(lhs: Route, rhs: Route) -> Bool {
return lhs.distance == rhs.distance
}
static func <(lhs: Route, rhs: Route) -> Bool {
return lhs.distance < rhs.distance
}
}
let route1 = Route(distance: 4)
let route2 = Route(distance: 8)
let maxRoute = max(route1, route2)
print(maxRoute)
তদ্ব্যতীত, আপনি যদি উপাদানগুলির একটি Array
, ক Set
, ক Dictionary
বা অন্য কোনও অনুক্রমের মধ্যে ন্যূনতম / সর্বাধিক উপাদান পেতে চান তবে আপনি সর্বাধিক () বা ন্যূনতম () পদ্ধতিগুলি Comparable
ব্যবহার করতে পারেন ( এই স্ট্যাক ওভারফ্লো উত্তরটি আরও দেখুন বিশদ)।