‫สวัสดีและยินดีต้อนรับ.
‫ในการบรรยายนี้ เราจะดูว่าเราสามารถคืนค่าจากฟังก์ชันของเราโดยใช้ประเภทการส่งคืนที่แตกต่างกันและคำสั่ง
‫return ได้อย่างไร
‫มาดูกันว่ามันทำงานอย่างไร
‫การบรรยายครั้งที่แล้ว เราบอกว่าถ้าฟังก์ชันของเราไม่คืนค่า แล้วประเภทการส่งคืนควรเป็นโมฆะ
‫ซึ่งเป็นสิ่งที่เราทำที่นี่
‫แต่ถ้าเราต้องการใช้ฟังก์ชัน เช่น ตรวจสอบว่าเราควรหมุนฟังก์ชันนี้ที่นี่ในคำสั่ง if หรือไม่
‫ถ้าเราสามารถบอกว่าควรหันหลังกลับแทน ฟังก์ชันนี้จะสะอาดขึ้นมากเมื่อสิ้นสุดวัน
‫แล้วเราจะทำอย่างนั้นได้อย่างไร?
‫เราจะบรรลุฟังก์ชันที่สามารถส่งคืนนิพจน์บูลีนได้อย่างไร
‫วิธีที่เราทำคือใช้ประเภทแทนโมฆะ
‫ดังนั้นถ้าเราต้องการส่งคืนนิพจน์บูลีนเพราะพิมพ์บูลเหมือนกับที่เราต้องการสำหรับตัวแปร
‫แต่สิ่งที่ทำให้ฟังก์ชันแตกต่างจากตัวแปรคือความจริงที่ว่าเราใส่วงเล็บตามหลังซึ่งทำให้เป็นฟังก์ชันแทนที่จะเป็นตัวแปร
‫และสิ่งที่เราทำได้คือเรียกมันว่าควรคืนค่าแพลตฟอร์ม แล้วใส่วงเล็บ
‫และในกรณีนี้ ฉันไม่มีอะไรที่ฉันต้องการจะส่งต่อเป็นอาร์กิวเมนต์ของฟังก์ชันนี้ ดังนั้นฉันสามารถปล่อยให้รายการพารามิเตอร์ว่างไว้
‫วางเครื่องหมายอัฒภาคที่ท้ายบรรทัด จากนั้นคัดลอกทั้งบรรทัดนี้แล้วไป ไปที่แท่นเคลื่อนที่
‫CP และตรงส่วนท้ายของไฟล์ คุณสามารถวางไว้ที่ใดก็ได้ตามต้องการระหว่างฟังก์ชันต่างๆ
‫เพียงตรวจสอบให้แน่ใจว่าไม่ได้อยู่ภายในฟังก์ชัน
‫ฉันจะแปะไว้ที่นี่
‫ฉันจะเยื้องมันและเพิ่มคลาสและ
‫ความละเอียดขอบเขตทำงาน
‫ดังนั้นโคลอนของแพลตฟอร์มที่เคลื่อนที่ควรกลับแท่น จากนั้นลบเซมิโคลอน เพิ่มเครื่องมือจัดฟันแทน
‫และสิ่งที่เราอยากทำที่นี่คือถ้าเราต้องการให้มันส่งกลับผลลัพธ์จริง ๆ เราจำเป็นต้องใช้การส่งคืนคำหลักพิเศษ
‫ตามด้วยนิพจน์ประเภทที่ถูกต้อง
‫ในกรณีนี้ มันต้องเป็นนิพจน์บูลีน ผมจึงสามารถคืนค่า จริง แล้วใส่เครื่องหมายอัฒภาคต่อท้าย
‫หรือผมอาจคืนค่าเท็จ แล้วใส่เครื่องหมายอัฒภาคต่อท้าย
‫แต่มันไม่จำเป็นต้องง่ายขนาดนั้น
‫จริงๆ แล้วอาจเป็นการแสดงออกใดๆ
‫มันอาจเป็นการเรียกใช้ฟังก์ชันอื่น อาจเป็นตัวแปร อาจเป็นการใช้ตัวดำเนินการบางตัวตามที่เรามีในคำสั่งนี้
‫อันที่จริงแล้ว ไปข้างหน้าและลองทำสิ่งนั้น
‫ฉันจะใช้นิพจน์นี้
‫ระยะทางที่เคลื่อนที่และมากกว่าระยะทาง mov
‫ฉันจะตัดมันออกและฉันจะใส่มันเป็นนิพจน์การส่งคืนสำหรับฟังก์ชันส่งคืนแพลตฟอร์มควร
‫คุณสังเกตเห็นว่ามันจะบ่นที่นี่เพราะการย้ายระยะทางไม่ใช่ตัวแปรในเครื่องภายในฟังก์ชันส่งคืนแพลตฟอร์มของเรา
‫เลยต้องย้ายของไปอีก
‫แต่ก่อนที่เราจะทำอย่างนั้น ฉันไม่ต้องการที่จะลืมที่จะเรียกสิ่งนี้หาก platform return
‫ในคำสั่ง if ดังนั้น platform return จากนั้นอย่าลืมใส่วงเล็บเพื่อให้ฟังก์ชั่นถูกเรียกภายในคำสั่ง
‫F ของเรา
‫ดังนั้นตอนนี้ก็เริ่มที่จะอ่านดีขึ้นเล็กน้อยสำหรับฉัน
‫หากแพลตฟอร์มกลับมา เราทำสิ่งต่อไปนี้ทั้งหมด
‫ตอนนี้สิ่งที่เราต้องทำคือนำตัวแปรระยะทางที่เรามีในแพลตฟอร์ม MOVE มา
‫เราไม่ต้องการมันในแพลตฟอร์ม MOVE
‫ฉันจะตัดมันออกและนำมันมาวางบนบรรทัดก่อนที่จะส่งคืนคำสั่ง
‫โดยปกติ return statement เป็นสิ่งสุดท้ายในฟังก์ชันเพราะเมื่อคุณกลับมาจากฟังก์ชันแล้ว คุณจะไม่ทำอย่างอื่นเลย
‫ถ้าฉันใส่บางอย่างเช่นข้อความบันทึก ฉันจะใส่บันทึกของคุณหลังคำสั่งส่งคืนด้วยข้อความบางประเภท
‫โดยปกติแล้ว สิ่งที่จะเกิดขึ้นคือคุณจะได้รับคำเตือนจากคอมไพเลอร์ของคุณว่าจะไม่สามารถเข้าถึงบรรทัดนี้ได้
‫และคุณอาจไม่ได้ตั้งใจทำอย่างนั้น
‫ดังนั้นคำสั่ง return มักจะเป็นสิ่งสุดท้าย
‫ดังนั้นเมื่อข้ามเส้นที่กำหนดระยะทางที่เคลื่อนที่เข้ามาควรเป็นฟังก์ชันส่งคืนแพลตฟอร์ม คุณจะเห็นได้ว่าตอนนี้ฉันไม่มีตำแหน่งปัจจุบันและตำแหน่งปัจจุบันที่เราคว้าได้ง่ายมาก
‫เราตั้งไว้ ตำแหน่งปัจจุบันก่อนที่เราจะโทรหาควรส่งคืนแพลตฟอร์ม
‫ดังนั้นการรับตำแหน่งที่ใช้งานจริงคือสิ่งที่เราต้องการ
‫ดังนั้นฉันจะใส่สิ่งนั้นแทนที่จะเป็นตัวแปร ฉันจะโทรเพื่อขอตำแหน่งที่ใช้งานในสถานที่นั้นและควรกลับมาที่แพลตฟอร์ม
‫ตอนนี้สิ่งที่เราได้คือระยะทางที่เคลื่อนที่ เท่ากับระยะทางระหว่างตำแหน่งเริ่มต้นกับตำแหน่งปัจจุบันที่เปิดใช้งาน
‫ดังนั้นหากมากกว่าระยะทางที่กำหนด แสดงว่าแพลตฟอร์มควรกลับมา
‫นั่นคือสิ่งที่ฟังก์ชันนี้บอก และช่วยให้เราใช้งานได้ในระดับนามธรรมที่สูงขึ้นจากภายในฟังก์ชันแพลตฟอร์ม
‫MOVE ของเรา
‫ตอนนี้คุณจะสังเกตเห็นว่าตอนนี้บ่นว่าเราไม่สามารถย้ายระยะทางเพื่อพิมพ์เกิน
‫นั่นไม่ใช่เรื่องใหญ่
‫ฉันไม่ต้องการที่จะพิมพ์อีกต่อไป
‫มันทำให้การทำงานของฉันยุ่งเหยิง
‫ผมจะลบบรรทัดตัวแปรโอเวอร์ชูต
‫ฉันจะลบบรรทัดรับชื่อ ฉันจะลบข้อความบันทึกเพราะมันอยู่ที่นั่นชั่วคราวเท่านั้น
‫ดังนั้นชื่อบันทึกชั่วคราว
‫ตอนนี้ฟังก์ชั่นแพลตฟอร์มการย้ายของเราเริ่มดูสะอาดตาขึ้นมาก
‫เราจะเห็นว่าเรากำลังอัปเดตตำแหน่งที่นี่
‫เราสามารถดูว่าแพลตฟอร์มจะกลับมาหรือไม่และควรกลับมาหรือไม่
‫จากนั้นเรากำลังอัปเดตตำแหน่งและพลิกไปมา
‫สิ่งหนึ่งที่ฉันคิดว่าจะดูดีขึ้นเล็กน้อยที่นี่คือถ้าเรามีคำสั่ง alt แทนที่จะมีโค้ดจำนวนมากที่ด้านบน
‫ดังนั้นหากแพลตฟอร์มกลับมา เราจะดำเนินการอย่างอื่น เราจะรันโค้ดปกติในแง่ของการก้าวไปข้างหน้า
‫ดังนั้น จำไว้ว่าเราได้ลองนึกย้อนกลับไปเมื่อเราพูดถึงคำสั่ง alt
‫มันมาหลัง if statement แล้วเราก็ทำแบบนี้
‫หลังจากวงเล็บปีกกา เรามีบรรทัดใหม่และพิมพ์อื่น จากนั้นขึ้นบรรทัดใหม่แล้วเปิดวงเล็บใหม่
‫เราสามารถย้ายโค้ดนี้ที่อยู่ด้านบนสุดของขีดได้
‫เราสามารถนำมันและย้ายลงไปที่คำสั่ง alt
‫ตอนนี้มันดูตรงไปตรงมาดี
‫แพลตฟอร์มควรส่งคืนโค้ดที่แพลตฟอร์มส่งคืนอย่างอื่นหรือไม่
‫เรากำลังขับเคลื่อนแพลตฟอร์มไปข้างหน้าด้วยความเร็วของแพลตฟอร์มของเรา
‫ตอนนี้ฉันอยากจะท้าให้คุณสร้างฟังก์ชันของคุณเองด้วยค่าที่ส่งกลับ
‫ฉันต้องการให้คุณเพิ่มฟังก์ชันย้ายระยะทาง
‫ดังนั้นเราจึงคำนวณสิ่งนี้เป็นตัวแปรที่เรียกว่าระยะทางที่เคลื่อนที่
‫ฉันต้องการให้คุณแทนที่ด้วยการเรียกใช้ฟังก์ชันแทน
‫ดังนั้นจึงควรคืนทุ่นเพราะนั่นคือวิธีที่ระยะทางเคลื่อนที่เราควรเรียกมันว่าควรกลับแท่น
‫ดังนั้นแทนที่จะใช้ vector dist เราควรใช้การนำไปใช้ของเราเอง
‫แล้วเราควรใส่โค้ดอะไร?
‫เราควรใส่โค้ดอะไรลงไป?
‫คำใบ้คือเราได้พิมพ์รหัสนี้แล้ว ดังนั้นคุณเพียงแค่คัดลอกและวางลงในฟังก์ชันใหม่
‫แต่ลองคิดสักนิดว่านิพจน์การส่งคืนควรเป็นอย่างไร สิ่งที่เราส่งคืนคือค่าระยะทางที่เคลื่อนที่
‫หยุดวิดีโอชั่วคราวและไปกันเลย
‫ยินดีต้อนรับกลับ.
‫ไปที่หัวไฟล์ของเรากัน
‫เราจะเพิ่มฟังก์ชันใหม่ที่นี่ด้วยค่าส่งคืนแบบลอยตัวที่เรียกว่า get distance move
‫แล้วเราจะไม่มีอาร์กิวเมนต์ในวงเล็บ
‫จากนั้นเราจะไปที่แท่นเคลื่อนที่ของเรา
‫CP เราจะเพิ่มทุ่น, แท่นเคลื่อนที่, ทวิภาค, ระยะโคลอนที่เคลื่อนที่หรือย้ายระยะทาง, ฉันควรจะพูดในวงเล็บ
‫แล้วเราจะใส่เหล็กจัดฟันชุดใหม่ในบรรทัดถัดไป
‫และสิ่งที่เราต้องการส่งคืนคือนิพจน์ที่เราใช้เพื่อสร้างระยะห่างของเรา การเคลื่อนที่แบบลอยตัว
‫เพื่อที่ฉันจะได้ตัดมันออกแล้ววางลงในนี้
‫มันคือเวกเตอร์ f, ทวิภาค, ทวิภาค, dist, ตำแหน่งเริ่มต้น, รับตำแหน่งที่ทำงานอยู่ และใส่เครื่องหมายอัฒภาคที่ท้ายบรรทัดนั้น
‫และนั่นหมายความว่าในแพลตฟอร์มควรกลับมา
‫แทนที่จะให้ตัวแปรย้ายระยะทางนี้ ฉันจะลบบรรทัดนั้นที่เสร็จแล้วครึ่งหนึ่ง
‫เรากำลังจะกลับมา ย้ายระยะทาง
‫วงเล็บมีค่ามากกว่าระยะเคลื่อนที่
‫เราก็เลยเอาสิ่งที่อยู่ในตัวแปรมาดึงออกมาเป็นฟังก์ชันของมันแทน
‫และนี่หมายความว่าเมื่อใดก็ตามที่เราต้องการอ้างถึงระยะทางที่เคลื่อนที่ หากเราไม่ต้องการเก็บข้อความบันทึกนั้นไว้ในแพลตฟอร์ม
‫MOVE เราก็สามารถเรียกใช้ฟังก์ชันนี้ รับระยะทางที่เคลื่อนที่จากฟังก์ชันใดๆ ในชั้นเรียนของเราได้อย่างง่ายดาย
‫สิ่งที่ดี
‫ดังนั้นในการบรรยายครั้งนี้ เราได้เรียนรู้เกี่ยวกับคำสั่ง return และ return ค่า และเราได้ใช้มันเพื่อสร้างฟังก์ชันใหม่สองฟังก์ชันในชั้นเรียนของเรา
‫เจอกันใหม่ตอนหน้าค่ะ