ตัวดำเนินการตรรกะและการประเมินแบบลัด
รวมเงื่อนไขด้วย &&, ||, ! และทำความเข้าใจการประเมินแบบลัด
ตัวดำเนินการตรรกะและการประเมินแบบลัด เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
ตัวดำเนินการทางตรรกะ
ตัวดำเนินการทางตรรกะใช้รวมค่า Bool ได้แก่ AND &&, OR || และ NOT ! ซึ่งจำเป็นสำหรับการสร้างเงื่อนไข
let isWeekend = true
let isSunny = false
print(isWeekend && isSunny)
print(isWeekend || isSunny)
print(!isSunny)ตรรกะ NOT
ตัวดำเนินการ ! จะกลับค่าบูลีน โดย true จะกลายเป็น false และในทางกลับกัน
let loggedIn = false
if !loggedIn {
print("Please log in")
}ตรรกะ AND
&& จะมีค่าเป็น true ก็ต่อเมื่อออเปอแรนด์ ทั้งสอง มีค่าเป็น true ใช้เมื่อต้องการให้ทุกเงื่อนไขเป็นจริง
let hasTicket = true
let hasID = true
let canEnter = hasTicket && hasID
print("Can enter:", canEnter)ตรรกะ OR
|| จะมีค่าเป็น true เมื่อออเปอแรนด์ อย่างน้อยหนึ่งรายการ เป็นจริง ใช้เมื่อมีเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริงก็เพียงพอ
let isAdmin = false
let isOwner = true
let canEdit = isAdmin || isOwner
print("Can edit:", canEdit)การรวม AND และ OR
คุณสามารถผสมตัวดำเนินการได้ โดย && มีลำดับความสำคัญสูงกว่า || แต่การใช้วงเล็บจะช่วยให้เงื่อนไขที่ซับซ้อนอ่านได้ง่ายขึ้น
let age = 20
let hasGuardian = false
let allowed = (age >= 18) || hasGuardian
print("Allowed:", allowed)การประเมินผลแบบลัดวงจรของ AND
Swift ใช้การประเมินผลแบบลัดวงจร ใน a && b หาก a เป็น false Swift จะไม่ประเมินค่า b เพราะทราบผลลัพธ์แล้วว่าเป็น false
func sideEffect() -> Bool {
print("sideEffect ran")
return true
}
let result = false && sideEffect()
print("Result:", result)การประเมินผลแบบลัดวงจรของ OR
เช่นเดียวกัน ใน a || b หาก a เป็น true Swift จะข้าม b ไป โดยจะตรวจสอบด้านขวาเมื่อจำเป็นเท่านั้น
func sideEffect() -> Bool {
print("sideEffect ran")
return false
}
let result = true || sideEffect()
print("Result:", result)เหตุผลที่การลัดวงจรมีความสำคัญ
การลัดวงจรช่วยให้คุณวางตัวป้องกันที่ประหยัดหรือ safe ไว้ก่อน เพื่อป้องกันการตรวจสอบที่ใช้ทรัพยากรมากหรือมีความเสี่ยงซึ่งอยู่ถัดไป ลำดับของออเปอแรนด์จึงมีความหมาย
let numbers = [10, 20, 30]
let index = 5
if index < numbers.count && numbers[index] > 0 {
print("Safe access")
} else {
print("Index out of bounds guarded")
}ลำดับการประเมินจากซ้ายไปขวา
ออเปอแรนด์จะถูกประเมินจากซ้ายไปขวา การวางเงื่อนไขที่ใช้ตัดสินผลไว้ก่อนอาจช่วยหลีกเลี่ยงการเรียกใช้โค้ดที่ไม่จำเป็นหรือไม่ปลอดภัย
func check(_ label: String, _ value: Bool) -> Bool {
print("checking", label)
return value
}
let r = check("A", false) && check("B", true)
print("Final:", r)การสร้างเงื่อนไขที่ซับซ้อน
โปรแกรมจริงมักรวมการตรวจสอบหลายรายการเข้าด้วยกัน ใช้วงเล็บจัดกลุ่มเพื่อสื่อ logic ที่แน่นอนและทำให้โค้ดอ่านง่าย
let temp = 25
let humidity = 40
let comfortable = (temp >= 18 && temp <= 26) && (humidity < 60)
print("Comfortable:", comfortable)การทำให้เงื่อนไขแบบผสมเป็นปฏิเสธ
การครอบเงื่อนไขด้วย !(...) จะกลับค่าของเงื่อนไขทั้งหมด ตามกฎของเดอมอร์แกน !(a && b) จึงเท่ากับ !a || !b
let a = true
let b = false
print(!(a && b))
print(!a || !b)ตรวจสอบอย่างรวดเร็ว
ลองพิจารณาการประเมินผลแบบลัดวงจร
สรุป: ตัวดำเนินการทางตรรกะและการลัดวงจร
คุณได้เรียนรู้ &&, || และ ! เรียนรู้ว่า && หยุดที่ false ตัวแรก และ || หยุดที่ true ตัวแรก รวมถึงเรียนรู้ว่าการลัดวงจรจากซ้ายไปขวาช่วยให้ตัวป้องกันที่อยู่ก่อนหน้าปกป้องการตรวจสอบที่ตามมาได้อย่างไร
let list = [1, 2, 3]
let i = 10
let safe = i < list.count && list[i] == 2
print("Safe and matched:", safe)เรียนรู้ Swift ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 122
- บทเรียน
- 409
คำถามที่พบบ่อย
บทเรียน “ตัวดำเนินการตรรกะและการประเมินแบบลัด” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ตัวดำเนินการตรรกะและการประเมินแบบลัด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ตัวดำเนินการตรรกะและการประเมินแบบลัด”
รวมเงื่อนไขด้วย &&, ||, ! และทำความเข้าใจการประเมินแบบลัด คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ตัวดำเนินการตรรกะและการประเมินแบบลัด” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ตัวดำเนินการคณิตศาสตร์และการกำหนดค่าแบบผสม
- ตัวดำเนินการเปรียบเทียบและตรวจสอบเอกลักษณ์
- ตัวดำเนินการตรรกะและการประเมินแบบลัด
- ตัวดำเนินการระดับบิตและโอเวอร์โฟลว์