﻿1
00:00:04,440 --> 00:00:05,490
‫สวัสดีและยินดีต้อนรับ.

2
00:00:05,490 --> 00:00:10,860
‫ในการบรรยายนี้ เราจะดูว่าเราสามารถคืนค่าจากฟังก์ชันของเราโดยใช้ประเภทการส่งคืนที่แตกต่างกันและคำสั่ง

3
00:00:10,860 --> 00:00:13,800
‫return ได้อย่างไร

4
00:00:13,800 --> 00:00:16,260
‫มาดูกันว่ามันทำงานอย่างไร

5
00:00:16,860 --> 00:00:23,820
‫การบรรยายครั้งที่แล้ว เราบอกว่าถ้าฟังก์ชันของเราไม่คืนค่า แล้วประเภทการส่งคืนควรเป็นโมฆะ

6
00:00:23,820 --> 00:00:26,040
‫ซึ่งเป็นสิ่งที่เราทำที่นี่

7
00:00:26,040 --> 00:00:34,170
‫แต่ถ้าเราต้องการใช้ฟังก์ชัน เช่น ตรวจสอบว่าเราควรหมุนฟังก์ชันนี้ที่นี่ในคำสั่ง if หรือไม่

8
00:00:34,500 --> 00:00:42,690
‫ถ้าเราสามารถบอกว่าควรหันหลังกลับแทน ฟังก์ชันนี้จะสะอาดขึ้นมากเมื่อสิ้นสุดวัน

9
00:00:42,690 --> 00:00:44,520
‫แล้วเราจะทำอย่างนั้นได้อย่างไร?

10
00:00:44,520 --> 00:00:49,530
‫เราจะบรรลุฟังก์ชันที่สามารถส่งคืนนิพจน์บูลีนได้อย่างไร

11
00:00:50,040 --> 00:00:55,920
‫วิธีที่เราทำคือใช้ประเภทแทนโมฆะ

12
00:00:55,920 --> 00:01:03,660
‫ดังนั้นถ้าเราต้องการส่งคืนนิพจน์บูลีนเพราะพิมพ์บูลเหมือนกับที่เราต้องการสำหรับตัวแปร

13
00:01:03,660 --> 00:01:10,440
‫แต่สิ่งที่ทำให้ฟังก์ชันแตกต่างจากตัวแปรคือความจริงที่ว่าเราใส่วงเล็บตามหลังซึ่งทำให้เป็นฟังก์ชันแทนที่จะเป็นตัวแปร

14
00:01:10,620 --> 00:01:18,510
‫และสิ่งที่เราทำได้คือเรียกมันว่าควรคืนค่าแพลตฟอร์ม แล้วใส่วงเล็บ

15
00:01:18,510 --> 00:01:24,420
‫และในกรณีนี้ ฉันไม่มีอะไรที่ฉันต้องการจะส่งต่อเป็นอาร์กิวเมนต์ของฟังก์ชันนี้ ดังนั้นฉันสามารถปล่อยให้รายการพารามิเตอร์ว่างไว้

16
00:01:24,420 --> 00:01:31,620
‫วางเครื่องหมายอัฒภาคที่ท้ายบรรทัด จากนั้นคัดลอกทั้งบรรทัดนี้แล้วไป ไปที่แท่นเคลื่อนที่

17
00:01:31,620 --> 00:01:37,140
‫CP และตรงส่วนท้ายของไฟล์ คุณสามารถวางไว้ที่ใดก็ได้ตามต้องการระหว่างฟังก์ชันต่างๆ

18
00:01:37,140 --> 00:01:39,690
‫เพียงตรวจสอบให้แน่ใจว่าไม่ได้อยู่ภายในฟังก์ชัน

19
00:01:39,840 --> 00:01:41,160
‫ฉันจะแปะไว้ที่นี่

20
00:01:41,160 --> 00:01:46,170
‫ฉันจะเยื้องมันและเพิ่มคลาสและ

21
00:01:46,850 --> 00:01:48,380
‫ความละเอียดขอบเขตทำงาน

22
00:01:48,380 --> 00:01:56,900
‫ดังนั้นโคลอนของแพลตฟอร์มที่เคลื่อนที่ควรกลับแท่น จากนั้นลบเซมิโคลอน เพิ่มเครื่องมือจัดฟันแทน

23
00:01:57,500 --> 00:02:04,160
‫และสิ่งที่เราอยากทำที่นี่คือถ้าเราต้องการให้มันส่งกลับผลลัพธ์จริง ๆ เราจำเป็นต้องใช้การส่งคืนคำหลักพิเศษ

24
00:02:04,160 --> 00:02:10,100
‫ตามด้วยนิพจน์ประเภทที่ถูกต้อง

25
00:02:10,100 --> 00:02:15,050
‫ในกรณีนี้ มันต้องเป็นนิพจน์บูลีน ผมจึงสามารถคืนค่า จริง แล้วใส่เครื่องหมายอัฒภาคต่อท้าย

26
00:02:15,050 --> 00:02:19,100
‫หรือผมอาจคืนค่าเท็จ แล้วใส่เครื่องหมายอัฒภาคต่อท้าย

27
00:02:19,580 --> 00:02:21,380
‫แต่มันไม่จำเป็นต้องง่ายขนาดนั้น

28
00:02:21,380 --> 00:02:23,750
‫จริงๆ แล้วอาจเป็นการแสดงออกใดๆ

29
00:02:23,750 --> 00:02:31,790
‫มันอาจเป็นการเรียกใช้ฟังก์ชันอื่น อาจเป็นตัวแปร อาจเป็นการใช้ตัวดำเนินการบางตัวตามที่เรามีในคำสั่งนี้

30
00:02:32,000 --> 00:02:34,820
‫อันที่จริงแล้ว ไปข้างหน้าและลองทำสิ่งนั้น

31
00:02:34,820 --> 00:02:36,800
‫ฉันจะใช้นิพจน์นี้

32
00:02:36,800 --> 00:02:41,330
‫ระยะทางที่เคลื่อนที่และมากกว่าระยะทาง mov

33
00:02:41,330 --> 00:02:50,180
‫ฉันจะตัดมันออกและฉันจะใส่มันเป็นนิพจน์การส่งคืนสำหรับฟังก์ชันส่งคืนแพลตฟอร์มควร

34
00:02:50,540 --> 00:02:58,220
‫คุณสังเกตเห็นว่ามันจะบ่นที่นี่เพราะการย้ายระยะทางไม่ใช่ตัวแปรในเครื่องภายในฟังก์ชันส่งคืนแพลตฟอร์มของเรา

35
00:02:58,520 --> 00:03:00,290
‫เลยต้องย้ายของไปอีก

36
00:03:00,290 --> 00:03:06,830
‫แต่ก่อนที่เราจะทำอย่างนั้น ฉันไม่ต้องการที่จะลืมที่จะเรียกสิ่งนี้หาก platform return

37
00:03:06,830 --> 00:03:12,530
‫ในคำสั่ง if ดังนั้น platform return จากนั้นอย่าลืมใส่วงเล็บเพื่อให้ฟังก์ชั่นถูกเรียกภายในคำสั่ง

38
00:03:12,530 --> 00:03:14,900
‫F ของเรา

39
00:03:14,900 --> 00:03:17,180
‫ดังนั้นตอนนี้ก็เริ่มที่จะอ่านดีขึ้นเล็กน้อยสำหรับฉัน

40
00:03:17,180 --> 00:03:21,410
‫หากแพลตฟอร์มกลับมา เราทำสิ่งต่อไปนี้ทั้งหมด

41
00:03:22,100 --> 00:03:29,600
‫ตอนนี้สิ่งที่เราต้องทำคือนำตัวแปรระยะทางที่เรามีในแพลตฟอร์ม MOVE มา

42
00:03:29,600 --> 00:03:31,400
‫เราไม่ต้องการมันในแพลตฟอร์ม MOVE

43
00:03:31,400 --> 00:03:35,990
‫ฉันจะตัดมันออกและนำมันมาวางบนบรรทัดก่อนที่จะส่งคืนคำสั่ง

44
00:03:35,990 --> 00:03:45,590
‫โดยปกติ return statement เป็นสิ่งสุดท้ายในฟังก์ชันเพราะเมื่อคุณกลับมาจากฟังก์ชันแล้ว คุณจะไม่ทำอย่างอื่นเลย

45
00:03:45,590 --> 00:03:55,010
‫ถ้าฉันใส่บางอย่างเช่นข้อความบันทึก ฉันจะใส่บันทึกของคุณหลังคำสั่งส่งคืนด้วยข้อความบางประเภท

46
00:03:55,430 --> 00:04:01,790
‫โดยปกติแล้ว สิ่งที่จะเกิดขึ้นคือคุณจะได้รับคำเตือนจากคอมไพเลอร์ของคุณว่าจะไม่สามารถเข้าถึงบรรทัดนี้ได้

47
00:04:01,790 --> 00:04:05,480
‫และคุณอาจไม่ได้ตั้งใจทำอย่างนั้น

48
00:04:05,780 --> 00:04:08,930
‫ดังนั้นคำสั่ง return มักจะเป็นสิ่งสุดท้าย

49
00:04:09,590 --> 00:04:22,520
‫ดังนั้นเมื่อข้ามเส้นที่กำหนดระยะทางที่เคลื่อนที่เข้ามาควรเป็นฟังก์ชันส่งคืนแพลตฟอร์ม คุณจะเห็นได้ว่าตอนนี้ฉันไม่มีตำแหน่งปัจจุบันและตำแหน่งปัจจุบันที่เราคว้าได้ง่ายมาก

50
00:04:22,520 --> 00:04:28,610
‫เราตั้งไว้ ตำแหน่งปัจจุบันก่อนที่เราจะโทรหาควรส่งคืนแพลตฟอร์ม

51
00:04:28,610 --> 00:04:32,330
‫ดังนั้นการรับตำแหน่งที่ใช้งานจริงคือสิ่งที่เราต้องการ

52
00:04:32,330 --> 00:04:42,200
‫ดังนั้นฉันจะใส่สิ่งนั้นแทนที่จะเป็นตัวแปร ฉันจะโทรเพื่อขอตำแหน่งที่ใช้งานในสถานที่นั้นและควรกลับมาที่แพลตฟอร์ม

53
00:04:42,200 --> 00:04:50,480
‫ตอนนี้สิ่งที่เราได้คือระยะทางที่เคลื่อนที่ เท่ากับระยะทางระหว่างตำแหน่งเริ่มต้นกับตำแหน่งปัจจุบันที่เปิดใช้งาน

54
00:04:50,810 --> 00:04:56,000
‫ดังนั้นหากมากกว่าระยะทางที่กำหนด แสดงว่าแพลตฟอร์มควรกลับมา

55
00:04:56,000 --> 00:05:01,520
‫นั่นคือสิ่งที่ฟังก์ชันนี้บอก และช่วยให้เราใช้งานได้ในระดับนามธรรมที่สูงขึ้นจากภายในฟังก์ชันแพลตฟอร์ม

56
00:05:01,520 --> 00:05:03,890
‫MOVE ของเรา

57
00:05:04,190 --> 00:05:09,590
‫ตอนนี้คุณจะสังเกตเห็นว่าตอนนี้บ่นว่าเราไม่สามารถย้ายระยะทางเพื่อพิมพ์เกิน

58
00:05:09,590 --> 00:05:10,970
‫นั่นไม่ใช่เรื่องใหญ่

59
00:05:11,000 --> 00:05:13,760
‫ฉันไม่ต้องการที่จะพิมพ์อีกต่อไป

60
00:05:13,760 --> 00:05:15,470
‫มันทำให้การทำงานของฉันยุ่งเหยิง

61
00:05:15,470 --> 00:05:18,200
‫ผมจะลบบรรทัดตัวแปรโอเวอร์ชูต

62
00:05:18,200 --> 00:05:23,390
‫ฉันจะลบบรรทัดรับชื่อ ฉันจะลบข้อความบันทึกเพราะมันอยู่ที่นั่นชั่วคราวเท่านั้น

63
00:05:23,390 --> 00:05:26,900
‫ดังนั้นชื่อบันทึกชั่วคราว

64
00:05:27,290 --> 00:05:32,210
‫ตอนนี้ฟังก์ชั่นแพลตฟอร์มการย้ายของเราเริ่มดูสะอาดตาขึ้นมาก

65
00:05:32,210 --> 00:05:35,480
‫เราจะเห็นว่าเรากำลังอัปเดตตำแหน่งที่นี่

66
00:05:35,480 --> 00:05:38,480
‫เราสามารถดูว่าแพลตฟอร์มจะกลับมาหรือไม่และควรกลับมาหรือไม่

67
00:05:38,480 --> 00:05:41,660
‫จากนั้นเรากำลังอัปเดตตำแหน่งและพลิกไปมา

68
00:05:41,660 --> 00:05:51,230
‫สิ่งหนึ่งที่ฉันคิดว่าจะดูดีขึ้นเล็กน้อยที่นี่คือถ้าเรามีคำสั่ง alt แทนที่จะมีโค้ดจำนวนมากที่ด้านบน

69
00:05:51,230 --> 00:05:59,570
‫ดังนั้นหากแพลตฟอร์มกลับมา เราจะดำเนินการอย่างอื่น เราจะรันโค้ดปกติในแง่ของการก้าวไปข้างหน้า

70
00:05:59,570 --> 00:06:03,860
‫ดังนั้น จำไว้ว่าเราได้ลองนึกย้อนกลับไปเมื่อเราพูดถึงคำสั่ง alt

71
00:06:03,890 --> 00:06:07,610
‫มันมาหลัง if statement แล้วเราก็ทำแบบนี้

72
00:06:07,610 --> 00:06:12,800
‫หลังจากวงเล็บปีกกา เรามีบรรทัดใหม่และพิมพ์อื่น จากนั้นขึ้นบรรทัดใหม่แล้วเปิดวงเล็บใหม่

73
00:06:12,800 --> 00:06:17,120
‫เราสามารถย้ายโค้ดนี้ที่อยู่ด้านบนสุดของขีดได้

74
00:06:17,120 --> 00:06:20,510
‫เราสามารถนำมันและย้ายลงไปที่คำสั่ง alt

75
00:06:20,510 --> 00:06:22,850
‫ตอนนี้มันดูตรงไปตรงมาดี

76
00:06:22,850 --> 00:06:26,900
‫แพลตฟอร์มควรส่งคืนโค้ดที่แพลตฟอร์มส่งคืนอย่างอื่นหรือไม่

77
00:06:26,900 --> 00:06:30,740
‫เรากำลังขับเคลื่อนแพลตฟอร์มไปข้างหน้าด้วยความเร็วของแพลตฟอร์มของเรา

78
00:06:30,740 --> 00:06:35,030
‫ตอนนี้ฉันอยากจะท้าให้คุณสร้างฟังก์ชันของคุณเองด้วยค่าที่ส่งกลับ

79
00:06:35,030 --> 00:06:38,060
‫ฉันต้องการให้คุณเพิ่มฟังก์ชันย้ายระยะทาง

80
00:06:38,060 --> 00:06:41,990
‫ดังนั้นเราจึงคำนวณสิ่งนี้เป็นตัวแปรที่เรียกว่าระยะทางที่เคลื่อนที่

81
00:06:42,020 --> 00:06:45,860
‫ฉันต้องการให้คุณแทนที่ด้วยการเรียกใช้ฟังก์ชันแทน

82
00:06:46,310 --> 00:06:54,410
‫ดังนั้นจึงควรคืนทุ่นเพราะนั่นคือวิธีที่ระยะทางเคลื่อนที่เราควรเรียกมันว่าควรกลับแท่น

83
00:06:54,410 --> 00:06:59,000
‫ดังนั้นแทนที่จะใช้ vector dist เราควรใช้การนำไปใช้ของเราเอง

84
00:06:59,000 --> 00:07:02,000
‫แล้วเราควรใส่โค้ดอะไร?

85
00:07:02,000 --> 00:07:04,190
‫เราควรใส่โค้ดอะไรลงไป?

86
00:07:04,220 --> 00:07:09,680
‫คำใบ้คือเราได้พิมพ์รหัสนี้แล้ว ดังนั้นคุณเพียงแค่คัดลอกและวางลงในฟังก์ชันใหม่

87
00:07:09,680 --> 00:07:17,390
‫แต่ลองคิดสักนิดว่านิพจน์การส่งคืนควรเป็นอย่างไร สิ่งที่เราส่งคืนคือค่าระยะทางที่เคลื่อนที่

88
00:07:17,420 --> 00:07:19,220
‫หยุดวิดีโอชั่วคราวและไปกันเลย

89
00:07:22,950 --> 00:07:23,850
‫ยินดีต้อนรับกลับ.

90
00:07:24,150 --> 00:07:26,150
‫ไปที่หัวไฟล์ของเรากัน

91
00:07:26,160 --> 00:07:33,330
‫เราจะเพิ่มฟังก์ชันใหม่ที่นี่ด้วยค่าส่งคืนแบบลอยตัวที่เรียกว่า get distance move

92
00:07:33,330 --> 00:07:36,240
‫แล้วเราจะไม่มีอาร์กิวเมนต์ในวงเล็บ

93
00:07:36,420 --> 00:07:39,150
‫จากนั้นเราจะไปที่แท่นเคลื่อนที่ของเรา

94
00:07:39,150 --> 00:07:53,550
‫CP เราจะเพิ่มทุ่น, แท่นเคลื่อนที่, ทวิภาค, ระยะโคลอนที่เคลื่อนที่หรือย้ายระยะทาง, ฉันควรจะพูดในวงเล็บ

95
00:07:53,550 --> 00:07:58,020
‫แล้วเราจะใส่เหล็กจัดฟันชุดใหม่ในบรรทัดถัดไป

96
00:07:58,410 --> 00:08:04,320
‫และสิ่งที่เราต้องการส่งคืนคือนิพจน์ที่เราใช้เพื่อสร้างระยะห่างของเรา การเคลื่อนที่แบบลอยตัว

97
00:08:04,320 --> 00:08:07,950
‫เพื่อที่ฉันจะได้ตัดมันออกแล้ววางลงในนี้

98
00:08:07,950 --> 00:08:15,240
‫มันคือเวกเตอร์ f, ทวิภาค, ทวิภาค, dist, ตำแหน่งเริ่มต้น, รับตำแหน่งที่ทำงานอยู่ และใส่เครื่องหมายอัฒภาคที่ท้ายบรรทัดนั้น

99
00:08:15,390 --> 00:08:17,610
‫และนั่นหมายความว่าในแพลตฟอร์มควรกลับมา

100
00:08:17,610 --> 00:08:22,560
‫แทนที่จะให้ตัวแปรย้ายระยะทางนี้ ฉันจะลบบรรทัดนั้นที่เสร็จแล้วครึ่งหนึ่ง

101
00:08:22,950 --> 00:08:27,630
‫เรากำลังจะกลับมา ย้ายระยะทาง

102
00:08:28,080 --> 00:08:31,890
‫วงเล็บมีค่ามากกว่าระยะเคลื่อนที่

103
00:08:31,890 --> 00:08:39,660
‫เราก็เลยเอาสิ่งที่อยู่ในตัวแปรมาดึงออกมาเป็นฟังก์ชันของมันแทน

104
00:08:39,660 --> 00:08:45,180
‫และนี่หมายความว่าเมื่อใดก็ตามที่เราต้องการอ้างถึงระยะทางที่เคลื่อนที่ หากเราไม่ต้องการเก็บข้อความบันทึกนั้นไว้ในแพลตฟอร์ม

105
00:08:45,180 --> 00:08:53,880
‫MOVE เราก็สามารถเรียกใช้ฟังก์ชันนี้ รับระยะทางที่เคลื่อนที่จากฟังก์ชันใดๆ ในชั้นเรียนของเราได้อย่างง่ายดาย

106
00:08:53,880 --> 00:08:54,450
‫สิ่งที่ดี

107
00:08:54,450 --> 00:09:03,120
‫ดังนั้นในการบรรยายครั้งนี้ เราได้เรียนรู้เกี่ยวกับคำสั่ง return และ return ค่า และเราได้ใช้มันเพื่อสร้างฟังก์ชันใหม่สองฟังก์ชันในชั้นเรียนของเรา

108
00:09:03,120 --> 00:09:04,590
‫เจอกันใหม่ตอนหน้าค่ะ

