در این مطلب، ویدئو Python Robotics – 1 – خواندن یک برنامه ربات با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,160 –> 00:00:02,780
[موسیقی]
2
00:00:02,780 –> 00:00:04,950
سلام این ویلیام از
3
00:00:04,950 –> 00:00:07,410
مؤلفه های بصری در این ویدیو است، من به
4
00:00:07,410 –> 00:00:09,210
شما نشان خواهم داد که چگونه یک برنامه ربات را
5
00:00:09,210 –> 00:00:11,010
با استفاده از API پایتون بخوانید.
6
00:00:11,010 –> 00:00:13,830
این نیاز به دسترسی به برگه مدل سازی دارد،
7
00:00:13,830 –> 00:00:16,529
اما می توانید از افزونه پایتون یا یک
8
00:00:16,529 –> 00:00:19,350
دات نت استفاده کنید. افزودنی API برای تکمیل این
9
00:00:19,350 –> 00:00:22,439
آموزش برای شروع در دنیای سه بعدی
10
00:00:22,439 –> 00:00:24,359
من یک طرح بندی باز دارم که می توانید پیوندی به آن پیدا کنید
11
00:00:24,359 –> 00:00:26,550
و باید توضیحات را انجام دهید،
12
00:00:26,550 –> 00:00:28,650
بنابراین طرح بندی را در دنیای سه بعدی بارگیری کنید،
13
00:00:28,650 –> 00:00:32,250
یک ربات یک مکعب و یک پالت وجود دارد.
14
00:00:32,250 –> 00:00:35,040
به تب برنامه بروید و از دستور jog
15
00:00:35,040 –> 00:00:36,600
برای انتخاب ربات در دنیای سه بعدی
16
00:00:36,600 –> 00:00:39,030
در پنل ویرایشگر برنامه استفاده
17
00:00:39,030 –> 00:00:41,010
کنید.
18
00:00:41,010 –> 00:00:42,899
19
00:00:42,899 –> 00:00:45,180
20
00:00:45,180 –> 00:00:47,219
قرار است یک اسکریپت پایتون
21
00:00:47,219 –> 00:00:51,090
در ربات ایجاد کنم تا همه این دادهها را بخواند، بنابراین اگر
22
00:00:51,090 –> 00:00:52,590
من واقعا شبیهسازی را برای شما شروع
23
00:00:52,590 –> 00:00:54,149
کنم، میتوانید ببینید چه اتفاقی میافتد، ربات
24
00:00:54,149 –> 00:00:57,449
یک مکعب را برمیدارد و آن را روی یک پالت قرار میدهد
25
00:00:57,449 –> 00:00:59,430
، مکعب را از پالت برمیدارد و میگذارد. آن
26
00:00:59,430 –> 00:01:01,649
را بر روی زمین و یک حلقه
27
00:01:01,649 –> 00:01:02,969
و ربات حرفه ای وجود دارد gram بنابراین
28
00:01:02,969 –> 00:01:04,670
همان کار را چند بار انجام میدهد و
29
00:01:04,670 –> 00:01:07,229
در نهایت از آن حلقه خارج میشود
30
00:01:07,229 –> 00:01:08,850
و ربات تمام میشود و شبیهسازی
31
00:01:08,850 –> 00:01:11,130
متوقف میشود، یکی از مواردی که باید به آن اشاره کرد این است که
32
00:01:11,130 –> 00:01:12,420
ما
33
00:01:12,420 –> 00:01:13,710
در این ویدیو که در حال انجام است وارد عبارات گذشته نخواهیم شد. برای
34
00:01:13,710 –> 00:01:16,020
اینکه در یک ویدیوی دیگر پوشش داده شود، بنابراین بیایید
35
00:01:16,020 –> 00:01:18,540
شبیه سازی خود را بازنشانی کنیم و به
36
00:01:18,540 –> 00:01:21,659
تب مدل سازی خود برویم و من گره ریشه
37
00:01:21,659 –> 00:01:23,369
یک جزء را انتخاب کرده ام.
38
00:01:23,369 –> 00:01:25,049
39
00:01:25,049 –> 00:01:26,850
40
00:01:26,850 –> 00:01:28,740
اسکریپت برای اضافه کردن آن رفتار
41
00:01:28,740 –> 00:01:30,900
به کامپوننت و این نیز
42
00:01:30,900 –> 00:01:33,390
ویرایشگر را برای من باز می کند اکنون ما به این
43
00:01:33,390 –> 00:01:35,250
خطوط کد در اینجا نیاز نداریم و بیایید با
44
00:01:35,250 –> 00:01:36,869
گرفتن یک دسته برای مؤلفه
45
00:01:36,869 –> 00:01:40,680
این اسکریپت شروع کنیم، بنابراین می گوییم comp برابر است با get
46
00:01:40,680 –> 00:01:43,799
component و هر زمان که می خواهید
47
00:01:43,799 –> 00:01:45,630
یک برنامه ربات را بخوانید، باید یک دسته
48
00:01:45,630 –> 00:01:48,299
برای مجریان آن برنامه بگیرید و یک
49
00:01:48,299 –> 00:01:50,100
مجری یک نوع رفتار در یک
50
00:01:50,100 –> 00:01:53,509
کامپوننت است، بنابراین می گوییم مجریان ربات
51
00:01:53,509 –> 00:01:56,310
برابر هستند و از
52
00:01:56,310 –> 00:01:59,700
شی کامپوننت برای پیدا کردن یک کامپوننت استفاده می کنیم. رفتار اگر شما
53
00:01:59,700 –> 00:02:01,439
نام اجراکننده را بدانید، میتوانید از
54
00:02:01,439 –> 00:02:04,049
این روش استفاده کنید، اما اگر نمیتوانید
55
00:02:04,049 –> 00:02:07,649
بگویید رفتارها را بر اساس نوع پیدا کنید و
56
00:02:07,649 –> 00:02:09,568
این فهرستی از همه رفتارهای
57
00:02:09,568 –> 00:02:11,819
نوع داده شده در مؤلفه را نشان میدهد، بنابراین من همه آنها را جستجو میکنم.
58
00:02:11,819 –> 00:02:13,300
گره
59
00:02:13,300 –> 00:02:15,100
های رفتارها و نوع مورد نظر شما
60
00:02:15,100 –> 00:02:17,350
را به نام اجراکنندگان ربات ما می نامند
61
00:02:17,350 –> 00:02:19,600
و این به شما یک لیست می
62
00:02:19,600 –> 00:02:21,160
دهد، بنابراین ما فقط اولین مجری
63
00:02:21,160 –> 00:02:26,050
هایی را که پیدا شده می خواهیم، بیایید آنها را چاپ کنیم، ک
64
00:02:26,050 –> 00:02:29,440
را کامپایل می کنم و در پانل آلفا می
65
00:02:29,440 –> 00:02:31,120
وانیم ببینیم که رباتهای اجرایی ما یک
66
00:02:31,120 –> 00:02:34,660
شی مجریهای vc هستند، بنابراین اکنون که
67
00:02:34,660 –> 00:02:36,250
یک دسته برای مجریها داریم، اکنون میتوانیم
68
00:02:36,250 –> 00:02:40,110
به برنامه آن دسترسی داشته باشیم، بنابراین میگوییم برنامه
69
00:02:40,110 –> 00:02:43,930
ربات برابر با روبات اجراکننده است و این یکی
70
00:02:43,930 –> 00:02:46,330
از ویژگیهای مجریها به نام
71
00:02:46,330 –> 00:02:52,330
برنامه است، پس بیایید آن را چاپ کنیم.
72
00:02:52,330 –> 00:02:55,270
کد را کامپایل کنید و در پنل آلفا متوجه شوید
73
00:02:55,270 –> 00:02:57,760
که یک برنامه ربات یک شی برنامه VC است،
74
00:02:57,760 –> 00:03:00,280
بنابراین اگر به تب برنامه برگردیم و به
75
00:03:00,280 –> 00:03:03,070
برنامه روبات ها نگاه کنیم،
76
00:03:03,070 –> 00:03:04,810
می بینیم که یک روال اصلی و
77
00:03:04,810 –> 00:03:06,340
چهار زیر روال وجود دارد، بنابراین اجازه دهید به آن ها دسترسی پیدا کنیم.
78
00:03:06,340 –> 00:03:10,060
rou اکنون من
79
00:03:10,060 –> 00:03:12,550
بیانیه چاپی خود را در اینجا پاک می کنم، اجازه دهید ابتدا یک
80
00:03:12,550 –> 00:03:15,040
دسته برای روال اصلی در برنامه ربات بگیریم،
81
00:03:15,040 –> 00:03:18,130
بنابراین روال اصلی برابر با
82
00:03:18,130 –> 00:03:19,810
برنامه ربات است و این
83
00:03:19,810 –> 00:03:23,890
ویژگی به نام روال اصلی خواهد بود، اجازه دهید آن را چاپ
84
00:03:23,890 –> 00:03:28,900
کرده و کد را کامپایل کنیم و در
85
00:03:28,900 –> 00:03:30,640
پانل آلفا توجه کنید که هر برنامه روتین
86
00:03:30,640 –> 00:03:33,459
و در ربات یک شی روتین vc
87
00:03:33,459 –> 00:03:36,400
است، بنابراین اگر اکنون یک دسته برای
88
00:03:36,400 –> 00:03:41,430
این زیر روال ها دریافت کنیم، بگوییم زیربرنامه ها برابر است،
89
00:03:41,430 –> 00:03:43,959
ما از شی برنامه ربات خود استفاده می کنیم،
90
00:03:43,959 –> 00:03:46,090
این بار این ویژگی روتین نامیده می شود،
91
00:03:46,090 –> 00:03:48,280
بنابراین این ویژگی به شما می دهد. لیستی از
92
00:03:48,280 –> 00:03:50,550
همه این زیربرنامه ها در آن برنامه
93
00:03:50,550 –> 00:03:54,010
بیایید آن را چاپ کنیم و
94
00:03:54,010 –> 00:03:56,860
اعلان کد را در پانل خروجی کامپایل
95
00:03:56,860 –> 00:04:00,370
96
00:04:00,370 –> 00:04:02,200
کنیم، اگر به
97
00:04:02,200 –> 00:04:04,480
پنل ویرایشگر برنامه برویم که مطابقت دارد و
98
00:04:04,480 –> 00:04:06,670
متوجه شویم که آن لیست یک دو سه چهار زیرروال در برنامه ربات وجود دارد. در حال حاضر
99
00:04:06,670 –> 00:04:08,580
روال اصلی را در برنامه ربات شامل نمی
100
00:04:08,580 –> 00:04:11,680
شود، در برخی موارد یک روال در ربات
101
00:04:11,680 –> 00:04:13,720
می تواند متغیرهایی داشته باشد، بنابراین اگر
102
00:04:13,720 –> 00:04:15,070
روال اصلی را در اینجا در پنل ویرایشگر برنامه
103
00:04:15,070 –> 00:04:17,709
انتخاب کنم و به روال بروید.
104
00:04:17,709 –> 00:04:20,350
اخطار پانل خصوصیات در آن یک متغیر
105
00:04:20,350 –> 00:04:21,910
به نام count دارد، بنابراین اگر میخواهید به
106
00:04:21,910 –> 00:04:24,940
آن متغیرها دسترسی پیدا کنید، این کار بسیار آسان است، اجازه دهید
107
00:04:24,940 –> 00:04:26,630
به اسکریپت خود برگردیم
108
00:04:26,630 –> 00:04:32,560
و ویژگیهای نقطه معمولی و اصلی را بگوییم،
109
00:04:32,950 –> 00:04:36,290
بنابراین این لیستی از
110
00:04:36,290 –> 00:04:38,510
ویژگیها در روال اصلی است، اجازه دهید
111
00:04:38,510 –> 00:04:41,950
چاپ کنیم. نام آنها را چاپ کنید،
112
00:04:41,950 –> 00:04:46,610
اجازه دهید کد را کامپایل کنیم
113
00:04:46,610 –> 00:04:48,170
و در پانل خروجی ببینیم که
114
00:04:48,170 –> 00:04:51,620
ویژگی name و آن متغیر count را داریم، بنابراین می
115
00:04:51,620 –> 00:04:52,910
توانید این کار را برای هر روتینی در
116
00:04:52,910 –> 00:04:54,350
برنامه روبات ها انجام دهید، بنابراین فقط
117
00:04:54,350 –> 00:04:56,570
ویژگی ها را دریافت کنید تا دسته های مربوط به
118
00:04:56,570 –> 00:04:59,300
متغیرها اجازه دهید اکنون دستههایی را برای
119
00:04:59,300 –> 00:05:01,370
این عبارات در یک روال دریافت کنیم، بنابراین من
120
00:05:01,370 –> 00:05:06,680
میگویم دستورات برابر با روال اصلی هستند و
121
00:05:06,680 –> 00:05:08,600
شما فقط باید از یک خاصیت به نام
122
00:05:08,600 –> 00:05:09,950
statement استفاده کنید، بنابراین لیستی
123
00:05:09,950 –> 00:05:11,420
از عباراتی را که در روال ما هستند به شما ارائه میدهد،
124
00:05:11,420 –> 00:05:15,830
بنابراین اگر این را چاپ کنیم و
125
00:05:15,830 –> 00:05:18,470
اعلان کد را در پانل خروجی کامپایل کنید،
126
00:05:18,470 –> 00:05:20,870
چیزی بسیار جالب است، بنابراین ما
127
00:05:20,870 –> 00:05:23,960
یک دو فقط دو عبارت در روال اصلی داریم،
128
00:05:23,960 –> 00:05:25,970
اما اگر به
129
00:05:25,970 –> 00:05:27,110
پنل ویرایشگر برنامه برویم، می بینیم که m وجود دارد
130
00:05:27,110 –> 00:05:29,180
. بیش از دو عبارت ما یک دو
131
00:05:29,180 –> 00:05:33,590
سه چهار پنج شش هفت عبارت داریم
132
00:05:33,590 –> 00:05:35,360
دلیل اینکه این اتفاق افتاده است به این دلیل است که
133
00:05:35,360 –> 00:05:38,180
هر روتین در یک برنامه ربات یک
134
00:05:38,180 –> 00:05:41,030
محدوده دارد محدوده اصلی روال این
135
00:05:41,030 –> 00:05:43,280
عبارات هستند محدوده این زیر روال
136
00:05:43,280 –> 00:05:46,010
در اینجا این عبارات هستند اما اگر ما
137
00:05:46,010 –> 00:05:48,020
به اخطار روتین اصلی برگردید که یک
138
00:05:48,020 –> 00:05:50,780
دستور نیز میتواند محدوده خاص خود را داشته باشد، بنابراین
139
00:05:50,780 –> 00:05:52,280
این دستور while در اینجا
140
00:05:52,280 –> 00:05:54,560
این محدوده از دستورات را دارد،
141
00:05:54,560 –> 00:05:58,040
حالا یک روتین شی به نام VC scope را به ارث میبرد
142
00:05:58,040 –> 00:06:00,080
و به همین دلیل است که میتوانید
143
00:06:00,080 –> 00:06:02,140
با استفاده از این ویژگی به دستورات آن مراجعه کنید. در اینجا،
144
00:06:02,140 –> 00:06:06,050
بنابراین اگر اکنون بررسی کنیم که آیا یک دستور
145
00:06:06,050 –> 00:06:08,300
محدوده خاص خود را دارد، بیایید ببینیم چه اتفاقی میافتد، بنابراین
146
00:06:08,300 –> 00:06:18,120
147
00:06:18,120 –> 00:06:21,060
اگر عبارت فهرستی به نام scopes دارد، برای بیانیهها میگویم،
148
00:06:21,060 –> 00:06:23,340
بنابراین ما بدانیم که این عبارت دیوار
149
00:06:23,340 –> 00:06:26,360
حداقل یک دامنه دارد، این عبارات در اینجا
150
00:06:26,360 –> 00:06:30,050
بیایید آن را چاپ کنید، بنابراین فرض کنید
151
00:06:30,050 –> 00:06:33,919
که محدوده های نقطه دستور چاپ کد را کامپایل می کنند
152
00:06:33,919 –> 00:06:36,570
و ما می توانیم پانل خروجی را ببینیم که
153
00:06:36,570 –> 00:06:38,669
لیستی از محدوده ها را برمی گرداند و
154
00:06:38,669 –> 00:06:41,639
ساقه while در اینجا یک محدوده دارد، بنابراین اکنون
155
00:06:41,639 –> 00:06:44,430
بیایید ببینیم چه اتفاقی میافتد وقتی
156
00:06:44,430 –> 00:06:47,300
یک حلقه دیگر به نام چهار scope در
157
00:06:47,300 –> 00:06:53,010
دستور انجام میدهیم، نه scopes، بیایید دستورات آن محدوده را چاپ
158
00:06:53,010 –> 00:06:58,070
کنیم، بنابراین در
159
00:06:58,070 –> 00:07:00,900
اینجا به روال برنامه یک ربات توجه کنید، میتوانید
160
00:07:00,900 –> 00:07:02,669
به ویژگی دستورات اشاره کنید
161
00:07:02,669 –> 00:07:04,800
زیرا دارای یک محدوده است و یک دستور
162
00:07:04,800 –> 00:07:07,350
نیز میتواند داشته باشد. یک یا چند دامنه و شما
163
00:07:07,350 –> 00:07:09,120
به عباراتی که در آن
164
00:07:09,120 –> 00:07:12,360
محدوده هستند یا تو در تو در آن هستند
165
00:07:12,360 –> 00:07:14,940
رجوع کنید، بنابراین اگر من کد را کامپایل کنم میتوانیم ببینیم که لیست بسیار طولانیتری
166
00:07:14,940 –> 00:07:16,050
در اینجا دریافت میکنیم، بنابراین
167
00:07:16,050 –> 00:07:17,729
عباراتی را که در حلقه while ما هستند برمیگرداند تا
168
00:07:17,729 –> 00:07:20,340
همه را دریافت کنیم. دستورات در یک روال
169
00:07:20,340 –> 00:07:25,820
بیایید یک متد ایجاد کنیم، به جای دادن یک شی معمولی، بگوییم تعریف کنید، همه
170
00:07:25,820 –> 00:07:30,900
دستورات را در روتین دریافت کنید،
171
00:07:30,900 –> 00:07:33,030
بگذارید فقط یک شی scope بدهیم،
172
00:07:33,030 –> 00:07:35,160
بنابراین من می گویم اولین آرگومان من اولین پارامتر ما
173
00:07:35,160 –> 00:07:37,740
scope نام دارد و می
174
00:07:37,740 –> 00:07:39,090
خواهیم همه آن عبارات را جمع آوری کنیم. در
175
00:07:39,090 –> 00:07:39,539
یک لیست،
176
00:07:39,539 –> 00:07:41,849
بنابراین پارامتر دوم من یک پارامتر
177
00:07:41,849 –> 00:07:43,740
اختیاری به نام دستورات خواهد بود و
178
00:07:43,740 –> 00:07:46,620
ما آن را برابر هیچ قرار می دهیم و کاری که
179
00:07:46,620 –> 00:07:48,570
در ابتدای متد انجام می دهیم این است که ببینیم آیا
180
00:07:48,570 –> 00:07:50,970
آن آرگومان عبارات هیچ o است یا خیر. r آن
181
00:07:50,970 –> 00:07:53,419
چیزی را شامل نمی شود، بنابراین اگر
182
00:07:53,419 –> 00:07:58,470
دستورات برابر با هیچ یک به خوبی نباشد،
183
00:07:58,470 –> 00:08:01,169
یک لیست جدید ایجاد کنید، بنابراین دستورات برابر با یک لیست خالی هستند،
184
00:08:01,169 –> 00:08:03,510
اکنون روش دیگری برای نوشتن این است که
185
00:08:03,510 –> 00:08:07,770
بگوییم اگر نیست، بنابراین اگر
186
00:08:07,770 –> 00:08:09,840
هیچ آرگومانی را در اینجا پاس نکنیم، باز هم
187
00:08:09,840 –> 00:08:11,280
بررسی می شود. این را ایجاد کنید و یک لیست عبارات جدید ایجاد
188
00:08:11,280 –> 00:08:15,030
کنید و سپس اجازه دهید از طریق
189
00:08:15,030 –> 00:08:17,520
عبارات موجود در محدوده خود حلقه بزنیم تا بتواند یک
190
00:08:17,520 –> 00:08:19,169
روال باشد یا می تواند یک دستور با یک
191
00:08:19,169 –> 00:08:23,099
محدوده یا عبارت در scope باشد دستورات نقطه
192
00:08:23,099 –> 00:08:25,590
193
00:08:25,590 –> 00:08:27,940
آنها را به لیست ما اضافه می کند، بنابراین
194
00:08:27,940 –> 00:08:33,070
عباراتی که عبارت را اضافه می کنند و اکنون
195
00:08:33,070 –> 00:08:34,630
میخواهیم بررسی کنیم که آیا آن
196
00:08:34,630 –> 00:08:37,120
دستور scope دارد یا یک یا چند، بنابراین اگر
197
00:08:37,120 –> 00:08:40,960
دستور scope ندارد، بیایید
198
00:08:40,960 –> 00:08:45,780
یک حلقه دیگر ایجاد کنیم، بنابراین برای scope و عبارت
199
00:08:45,780 –> 00:08:49,270
نه scopes چه کاری باید اینجا انجام دهیم
200
00:08:49,270 –> 00:08:50,560
خوب ما نمیخواهیم همان را بنویسیم.
201
00:08:50,560 –> 00:08:51,910
بارها و بارها از بازگشت استفاده می کنیم
202
00:08:51,910 –> 00:08:54,580
تا دوباره این متد را فراخوانی کنیم، اما
203
00:08:54,580 –> 00:08:56,140
این بار آن را به محدوده
204
00:08:56,140 –> 00:08:58,630
یک عبارت و لیست عباراتی که ایجاد کرده ایم منتقل می کنیم
205
00:08:58,630 –> 00:09:03,690
، بنابراین بگوییم همه دستورات را به
206
00:09:03,690 –> 00:09:08,050
صورت روتین دریافت کنید، اولین مورد دامنه
207
00:09:08,050 –> 00:09:10,960
و وضعیت ما خواهد بود. لیست ments بنابراین
208
00:09:10,960 –> 00:09:12,370
قرار نیست یک لیست خالی جدید ایجاد کند،
209
00:09:12,370 –> 00:09:14,110
فقط از موجود استفاده می کند وقتی به متد منتقل می
210
00:09:14,110 –> 00:09:18,550
کنیم و بعد از اینکه
211
00:09:18,550 –> 00:09:20,440
از دستورات خود خارج شدیم همه چیز را دریافت می
212
00:09:20,440 –> 00:09:24,760
کنیم، بیایید لیست عبارات خود را برگردانیم و ببینیم
213
00:09:24,760 –> 00:09:28,860
این چگونه کار می کند.
214
00:09:28,860 –> 00:09:32,050
طول لیستی را که با متد ما برگردانده شده است چاپ کنید،
215
00:09:32,050 –> 00:09:34,480
بنابراین من از یک تابع داخلی
216
00:09:34,480 –> 00:09:36,880
به نام length یا length استفاده میکنم و همه
217
00:09:36,880 –> 00:09:40,480
دستورات را در روتین دریافت میکنیم و باید
218
00:09:40,480 –> 00:09:44,020
ابتدا روال اصلی خود را به آن بدهیم و
219
00:09:44,020 –> 00:09:45,670
به آن آرگومان دوم نمیدهیم. بنابراین
220
00:09:45,670 –> 00:09:48,160
یک لیست خالی برای ما ایجاد می کند، بنابراین
221
00:09:48,160 –> 00:09:50,740
بیایید پانل خروجی را پاک کنیم و فکر
222
00:09:50,740 –> 00:09:52,090
می کنم اشتباهی انجام دادم، بنابراین بیایید
223
00:09:52,090 –> 00:09:56,890
کد را کامپایل کنیم و به نظر می رسد من این کار را کردم،
224
00:09:56,890 –> 00:10:00,220
فراموش کردم اینجا یک دونقطه اضافه کنم متأسفم بیایید
225
00:10:00,220 –> 00:10:02,530
دوباره کد را کامپایل کنیم و در پانل خروجی
226
00:10:02,530 –> 00:10:05,080
که میبینیم، عدد هفت
227
00:10:05,080 –> 00:10:07,270
را دریافت میکنیم، بنابراین میدانیم که هفت عبارت در
228
00:10:07,270 –> 00:10:09,820
روال اصلی ما وجود دارد، بیایید ببینیم که
229
00:10:09,820 –> 00:10:13,500
چگونه با زیربرنامه ما کار میکند، بنابراین بیایید بگوییم
230
00:10:13,500 –> 00:10:18,520
ربات، بیایید در واقع از لیست زیربرنامههای ما در اینجا استفاده کنیم،
231
00:10:18,520 –> 00:10:22,660
بنابراین زیربرنامهها بیایید از
232
00:10:22,660 –> 00:10:24,160
دو مورد اول استفاده کنیم. زیر outine بنابراین من از یک
233
00:10:24,160 –> 00:10:27,250
ایندکس صفر در اینجا استفاده می کنم، بنابراین کد را
234
00:10:27,250 –> 00:10:30,550
در پانل آلفا کامپایل می کنم، چهار می گیریم، بنابراین
235
00:10:30,550 –> 00:10:32,050
اگر به هر یک از این زیر روال ها بروم، می توانید
236
00:10:32,050 –> 00:10:33,670
ببینید که دارای چهار عبارت است، بنابراین این
237
00:10:33,670 –> 00:10:36,230
یکی برای این است که دارای چهار است
238
00:10:36,230 –> 00:10:38,840
و بنابراین موارد دیگر بیایید به
239
00:10:38,840 –> 00:10:41,810
روال اصلی خود برگردیم و در واقع
240
00:10:41,810 –> 00:10:43,550
تمام عبارات برنامه ربات را
241
00:10:43,550 –> 00:10:46,580
با استفاده از این به عنوان مثال دریافت کنیم، بنابراین به جای
242
00:10:46,580 –> 00:10:49,280
چاپ آن، بیایید یک
243
00:10:49,280 –> 00:10:53,230
روش جدید به نام دریافت همه دستورات و
244
00:10:53,230 –> 00:10:57,110
برنامه تعریف کنیم و ممکن است کمی
245
00:10:57,110 –> 00:10:58,550
گیج کننده باشد. فرض کنید همه
246
00:10:58,550 –> 00:11:03,020
دستورات را در برنامه ربات دریافت
247
00:11:03,020 –> 00:11:05,120
کنید و در اینجا چه کاری میتوانیم انجام دهیم، بیایید در واقع یک
248
00:11:05,120 –> 00:11:09,500
برنامه را به عنوان آرگومان در نظر بگیریم و
249
00:11:09,500 –> 00:11:14,090
روشی را که برای دریافت دستورات در روال خود استفاده کردهایم فراخوانی میکند،
250
00:11:14,090 –> 00:11:15,440
بنابراین بیایید بگوییم
251
00:11:15,440 –> 00:11:23,020
عبارات مساوی، همه دستورات و
252
00:11:23,020 –> 00:11:28,090
روتین را دریافت میکنند و ما آن را به روال اصلی برنامه منتقل میکنیم
253
00:11:28,090 –> 00:11:32,690
و این همان چیزی است که
254
00:11:32,690 –> 00:11:36,400
ما برمیگردانیم و بیایید ببینیم این کار چگونه کار میکند،
255
00:11:36,400 –> 00:11:39,320
احتمالاً قبلاً
256
00:11:39,320 –> 00:11:40,850
در سرتان آلارمهایی به صدا درآمده است که چه اتفاقی میافتد، بنابراین
257
00:11:40,850 –> 00:11:45,950
فرض کنید تمام عبارات را در ربات چاپ کنید.
258
00:11:45,950 –> 00:11:51,140
برنامه بیایید برنامه ربات
259
00:11:51,140 –> 00:11:54,950
خود را که قبلا پیدا کرده بودیم به آن بدهیم تا پانل خروجی خود را پاک کنیم
260
00:11:54,950 –> 00:11:58,100
و کد را کامپایل کنیم،
261
00:11:58,100 –> 00:11:59,600
میتوانیم ببینیم که یک لیست طولانی در پانل خروجی دریافت میکنیم،
262
00:11:59,600 –> 00:12:01,130
اما اجازه دهید طول آن را چاپ
263
00:12:01,130 –> 00:12:04,820
کنیم، بنابراین احتمالاً باید بیش
264
00:12:04,820 –> 00:12:06,730
از هفت باشد. ما انتظار
265
00:12:06,730 –> 00:12:08,900
داریم که دوباره از تابع
266
00:12:08,900 –> 00:12:11,990
داخلی با طول یا طول، کد را کامپایل
267
00:12:11,990 –> 00:12:15,080
کنیم و هفت را دریافت می کنیم، اکنون می دانیم که درست نیست
268
00:12:15,080 –> 00:12:17,480
روال اصلی هفت دستور دارد،
269
00:12:17,480 –> 00:12:18,920
اما توجه داشته باشید که این
270
00:12:18,920 –> 00:12:21,800
زیر روال ها را که هر کدام چهار عبارت
271
00:12:21,800 –> 00:12:24,980
دارند، چنین می نامیم. برای رفع اینکه نیازی نیست
272
00:12:24,980 –> 00:12:26,990
در اینجا هیچ تغییری در این متد ایجاد کنیم تا
273
00:12:26,990 –> 00:12:28,220
تمام دستورات را در برنامه ربات دریافت
274
00:12:28,220 –> 00:12:30,680
کنیم، اما میتوانیم این روش را در اینجا تغییر دهیم
275
00:12:30,680 –> 00:12:33,290
تا دستورات به صورت روتین دریافت شوند، بنابراین آنچه که
276
00:12:33,290 –> 00:12:35,560
میتوانیم انجام
277
00:12:36,060 –> 00:12:38,610
دهیم، اجازه دهید یک شرط دیگر را در اینجا اضافه کنیم.
278
00:12:38,610 –> 00:12:39,720
ابتدا به روال اصلی برمی
279
00:12:39,720 –> 00:12:40,890
گردم و به شما نشان می دهم که در مورد چه چیزی صحبت می کنم،
280
00:12:40,890 –> 00:12:42,270
بنابراین اگر یکی از این
281
00:12:42,270 –> 00:12:44,790
دستورات توالی فراخوانی را در
282
00:12:44,790 –> 00:12:46,200
پانل ویژگی های دستورات انتخاب کنم، دارای یک
283
00:12:46,200 –> 00:12:48,810
ویژگی روتین است، بنابراین ما می توانیم بررسی کنیم که آیا دستوری
284
00:12:48,810 –> 00:12:51,300
دارای این p است یا خیر. ویژگی و سپس آن
285
00:12:51,300 –> 00:12:53,580
حالت را فراخوانی کنید که متدی را که ایجاد کردیم تا
286
00:12:53,580 –> 00:12:55,190
دستورات این روال
287
00:12:55,190 –> 00:13:02,520
را بدست آوریم، بنابراین می گوییم زیرروال برابر است با دستور
288
00:13:02,520 –> 00:13:08,730
dot دریافت ویژگی روتین اکنون اگر
289
00:13:08,730 –> 00:13:09,990
دستور آن ویژگی را نداشته باشد،
290
00:13:09,990 –> 00:13:12,450
این به من یک مقدار تهی می دهد، بنابراین
291
00:13:12,450 –> 00:13:17,490
اگر اگر مقداری وجود داشته باشد،
292
00:13:17,490 –> 00:13:19,170
فکر میکنید ما چه کاری
293
00:13:19,170 –> 00:13:20,520
294
00:13:20,520 –> 00:13:25,460
295
00:13:25,460 –> 00:13:29,880
296
00:13:29,880 –> 00:13:32,640
انجام خواهیم داد. پاس دادن
297
00:13:32,640 –> 00:13:34,820
یک شیء ویژگی VC ما می خواهیم
298
00:13:34,820 –> 00:13:37,800
شیئی را که دارای نوعی دامنه است ارسال کنیم، بنابراین در
299
00:13:37,800 –> 00:13:39,180
این مورد از
300
00:13:39,180 –> 00:13:41,760
مقدار آن ویژگی استفاده می کنیم، بنابراین روال
301
00:13:41,760 –> 00:13:44,130
یا زیر روال را به ما بدهید و می خواهیم از همان لیست استفاده کنیم،
302
00:13:44,130 –> 00:13:45,810
بنابراین من همچنین لیست عبارات آنها را ارسال می
303
00:13:45,810 –> 00:13:48,600
کنیم و بیایید ببینیم چه
304
00:13:48,600 –> 00:13:52,560
اتفاقی می افتد، بنابراین اگر کد را کامپایل کنم حالا ببینم
305
00:13:52,560 –> 00:13:55,290
به جای هفت چه اتفاقی می افتد،
306
00:13:55,290 –> 00:13:57,360
23 می گیریم، بنابراین هفت عدد در
307
00:13:57,360 –> 00:13:59,640
حالت اصلی و روال اصلی وجود دارد و هر یک از
308
00:13:59,640 –> 00:14:01,140
این زیر روال ها دارای چهار عبارت هستند، بنابراین
309
00:14:01,140 –> 00:14:04,590
چهار عبارت هشت دوازده شانزده بعلاوه هفت
310
00:14:04,590 –> 00:14:07,950
اکنون 23 است، زیرا روش ما همه
311
00:14:07,950 –> 00:14:09,150
دستورات و روال را دریافت می کند، احتمالاً
312
00:14:09,150 –> 00:14:10,890
نباید این را در اینجا داشته باشیم، احتمالاً می
313
00:14:10,890 –> 00:14:12,330
دانید آن را برای دریافت دستورات
314
00:14:12,330 –> 00:14:14,370
در برنامه ربات قرار دهید زیرا از
315
00:14:14,370 –> 00:14:16,560
نظر فنی دستورات و این زیر روال ها
316
00:14:16,560 –> 00:14:18,060
در روتینی نیستند که ما به آن می گوییم.
317
00:14:18,060 –> 00:14:20,280
متد با پس بیایید در واقع این کد را برداریم
318
00:14:20,280 –> 00:14:24,980
و آن را برش
319
00:14:26,010 –> 00:14:29,610
دهیم و به روش دیگر خود در اینجا
320
00:14:29,610 –> 00:14:35,100
برویم و برای عبارت در دستورات
321
00:14:35,100 –> 00:14:39,870
می گوییم و سپس در کد خود
322
00:14:42,610 –> 00:14:44,619
که در اینجا انجام می دهیم پیست می کنیم، فقط تورفتگی را اصلاح کنیم
323
00:14:44,619 –> 00:14:49,299
که اگر آن عبارت یک
324
00:14:49,299 –> 00:14:51,819
ویژگی معمولی را که می خواهیم
325
00:14:51,819 –> 00:14:54,129
فراخوانی کنیم یا همه دستورات و متد معمول را
326
00:14:54,129 –> 00:14:56,799
با مقدار آن ویژگی
327
00:14:56,799 –> 00:15:00,040
در لیست دستورات خود دریافت کنیم، بنابراین بیایید ببینیم
328
00:15:00,040 –> 00:15:01,749
که آیا هنوز کار می کند، بنابراین کد را کامپایل کنید و
329
00:15:01,749 –> 00:15:06,269
ما هنوز 23 عالی دریافت می
330
00:15:10,370 –> 00:15:12,300
کنیم، حالا ببینیم چگونه کار می کند. وقتی
331
00:15:12,300 –> 00:15:14,700
دستوری بیش از یک محدوده داشته باشد، بنابراین اگر
332
00:15:14,700 –> 00:15:16,680
به پنل ویرایشگر برنامه برویم
333
00:15:16,680 –> 00:15:18,420
دستور while ما یک محدوده دارد، اما بیایید
334
00:15:18,420 –> 00:15:22,260
اکنون یک دستور if اضافه کنیم و
335
00:15:22,260 –> 00:15:24,210
نمیخواهیم آن داخل حلقههای ما باشد، بنابراین آن را
336
00:15:24,210 –> 00:15:26,220
میکشم تا باشد. آ دستور while را پایین بیاورید
337
00:15:26,220 –> 00:15:28,260
و سپس دستور while خود
338
00:15:28,260 –> 00:15:31,640
را به بالای آن ببرید
339
00:15:33,110 –> 00:15:35,330
و برای دستور if ب