ท่านใดชำนาญภาษา Swift ช่วยดูให้ผมหน่อยขอรับ

ผมงงกับโค๊ดนี้อะครับเป็นโค๊ดหาค่าน้อยกับค่ามาก  ผมพึ่งเริ่มเรียนภาษา Swift อะครับ เลยไม่ค่อยรู้เรื่องเท่าไหร่

โดยจุดที่ งง ก็คือ 1. การประกาศ currentMin กับ currentMax  ให้ = array[0] นี่คือการประกาศให้เป็น array ช่องที่ 0 หรือ ประกาศให้ array เก็บ 0     ช่องอะครับ
                        2.ใน for  value ในที่นี้คือ 1 ใช่ไหมครับแล้วก็ไล่ไปเรื่อยๆตามอันนี้  array[1..<array.count]
                        
จากการทำความเข้าใจกับการทำงานผมคิดอย่างอื่นไม่ออกอะครับนอกจากแบบนี้

ใช้ฟังก์ชันด้วย let bounds = minMax(array: [8, -6, 2, 109, 3, 71]) ใส่ค่าเข้าไปในตัวแปร array ในฟังกืชัน พอมาถึง if ซึ่ง value=1 currentMin=8
value<currentMin  currentMin = value คือ 1 นั่นเอง loop ต่อไป value=2 currentMin=1  
ลงไปทำ else if  ซึ่ง currentmax =8  value >curretMax   loop หลังจากนี้ก็มึนต์บ ผมรู้ว่าผมดูการทำงานของมันผิด ท่านใดรู้ช่วยชี้ทางสว่างให้ผมด้วยครับ

นี่โค๊ด

func minMax(array: [Int]) -> (min: Int, max: Int) {
    var currentMin = array[0]
    var currentMax = array[0]
    for value in array[1..<array.count] {
        if value < currentMin {
            currentMin = value
        } else if value > currentMax {
            currentMax = value
        }
    }
    return (currentMin, currentMax)
}

let bounds = minMax(array: [8, -6, 2, 109, 3, 71])
print("min is \(bounds.min) and max is \(bounds.max)")

ปล.ไม่มีห้อง Swift ขอตั้งห้องอื่นละกันครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่