নির্ধারণ করা
func secondsToHoursMinutesSeconds (seconds : Int) -> (Int, Int, Int) {
return (seconds / 3600, (seconds % 3600) / 60, (seconds % 3600) % 60)
}
ব্যবহার
> secondsToHoursMinutesSeconds(27005)
(7,30,5)
অথবা
let (h,m,s) = secondsToHoursMinutesSeconds(27005)
উপরের ফাংশনটি একবারে তিনটি মান ফেরত দিতে সুইফট টিপলগুলি ব্যবহার করে। আপনি let (var, ...)সিনট্যাক্সটি ব্যবহার করে টিপলটিকে কাঠামোগত করেন বা প্রয়োজনে স্বতন্ত্র টুপল সদস্যদের অ্যাক্সেস করতে পারেন।
আপনার যদি আসলে শব্দগুলি Hoursইত্যাদি দিয়ে মুদ্রণ করা দরকার থাকে তবে এই জাতীয় কিছু ব্যবহার করুন:
func printSecondsToHoursMinutesSeconds (seconds:Int) -> () {
let (h, m, s) = secondsToHoursMinutesSeconds (seconds)
print ("\(h) Hours, \(m) Minutes, \(s) Seconds")
}
উল্লেখ্য যে উপরোক্ত বাস্তবায়নটি আর্গুমেন্টগুলির secondsToHoursMinutesSeconds()জন্য কাজ Intকরে। যদি আপনি কোনও Doubleসংস্করণ চান তবে আপনাকে সিদ্ধান্ত নিতে হবে যে ফিরতি মানগুলি - কী হতে পারে (Int, Int, Double)বা হতে পারে (Double, Double, Double)। আপনি এরকম কিছু চেষ্টা করতে পারেন:
func secondsToHoursMinutesSeconds (seconds : Double) -> (Double, Double, Double) {
let (hr, minf) = modf (seconds / 3600)
let (min, secf) = modf (60 * minf)
return (hr, min, 60 * secf)
}
(seconds % 3600) % 60অনুকূলিত হতে পারেseconds % 60। প্রথমে ঘন্টা বের করার দরকার নেই।