﻿1
00:00:04,440 --> 00:00:05,490
‫Merhaba ve hoş geldiniz.

2
00:00:05,490 --> 00:00:10,860
‫Bu derste, farklı dönüş türleri ve return deyimi kullanarak fonksiyonlarımızdan nasıl

3
00:00:10,860 --> 00:00:13,800
‫değer döndürebileceğimizi inceleyeceğiz.

4
00:00:13,800 --> 00:00:16,260
‫İçeri dalalım ve bunun nasıl çalıştığını görelim.

5
00:00:16,860 --> 00:00:23,820
‫Geçen derste, fonksiyonumuz bir değer döndürmüyorsa, dönüş türünün void olması gerektiğini söylemiştik,

6
00:00:23,820 --> 00:00:26,040
‫burada da öyle yaptık.

7
00:00:26,040 --> 00:00:34,170
‫Peki ya get gibi temel olarak if deyiminde bu fonksiyonun etrafında dönüp dönmeyeceğimizi kontrol eden bir fonksiyon

8
00:00:34,500 --> 00:00:40,170
‫almak isteseydik, bunun yerine etrafında dönmeli diyebilseydik, günün sonunda çok

9
00:00:40,170 --> 00:00:42,690
‫daha temiz bir fonksiyon olurdu.

10
00:00:42,690 --> 00:00:44,520
‫Peki bunu nasıl yapacağız?

11
00:00:44,520 --> 00:00:49,530
‫Boolean ifadesi döndürebilen bir fonksiyona nasıl ulaşırız?

12
00:00:50,040 --> 00:00:55,920
‫Bunu yapmanın yolu basitçe void yerine bir tip kullanmaktır.

13
00:00:55,920 --> 00:01:03,660
‫Dolayısıyla, boolean bir ifade döndürmek istersek, bir değişken için yaptığımız gibi bool yazın.

14
00:01:03,660 --> 00:01:08,130
‫Ancak fonksiyonu değişkenden ayıran şey, onu bir değişkenden ziyade bir fonksiyon yapan

15
00:01:08,130 --> 00:01:10,440
‫parantezleri ondan sonra koymamızdır.

16
00:01:10,620 --> 00:01:18,510
‫Ve yapabileceğimiz şey, buna should platform return demek ve sonra parantezlerimizi koymaktır.

17
00:01:18,510 --> 00:01:24,420
‫Bu durumda, bu fonksiyona argüman olarak aktarmak istediğim herhangi bir şey yok, bu yüzden parametre listesini boş

18
00:01:24,420 --> 00:01:29,250
‫bırakabilir, satırın sonuna noktalı virgül koyabilir ve ardından bu satırın tamamını kopyalayıp

19
00:01:29,250 --> 00:01:31,620
‫hareketli platforma gidebilirim.

20
00:01:31,620 --> 00:01:37,140
‫CP Ve dosyanın hemen sonunda, herhangi bir işlevin arasına gerçekten istediğiniz herhangi bir yere koyabilirsiniz.

21
00:01:37,140 --> 00:01:39,690
‫Sadece bir fonksiyonun içinde olmadığından emin olun.

22
00:01:39,840 --> 00:01:41,160
‫Buraya yapıştıracağım.

23
00:01:41,160 --> 00:01:46,170
‫Girinti yapacağım ve ve sınıfını ekleyeceğim.

24
00:01:46,850 --> 00:01:48,380
‫Kapsam çözünürlüğü çalışır.

25
00:01:48,380 --> 00:01:56,900
‫Yani hareketli bir platform iki nokta üst üste platform dönüşü yapmalı, sonra noktalı virgülü kaldırmalı, bunun yerine bazı parantezler eklemelidir.

26
00:01:57,500 --> 00:02:04,160
‫Burada yapmak istediğimiz şey, gerçekten bir sonuç döndürmesini istiyorsak, özel bir return

27
00:02:04,160 --> 00:02:10,100
‫anahtar sözcüğü ve ardından doğru türde bir ifade kullanmamız gerektiğidir.

28
00:02:10,100 --> 00:02:15,050
‫Bu durumda boolean bir ifade olması gerekir, bu yüzden true değerini döndürüp sonuna noktalı virgül

29
00:02:15,050 --> 00:02:19,100
‫koyabilirim veya false değerini döndürüp sonuna noktalı virgül koyabilirim.

30
00:02:19,580 --> 00:02:21,380
‫Ama bu kadar basit olmak zorunda değil.

31
00:02:21,380 --> 00:02:23,750
‫Aslında herhangi bir ifade olabilir.

32
00:02:23,750 --> 00:02:29,000
‫Bir fonksiyona yapılan başka bir çağrı olabilir, bir değişken olabilir, burada ifademizin içinde olduğu

33
00:02:29,000 --> 00:02:31,790
‫gibi bazı operatörlerin kullanımı olabilir.

34
00:02:32,000 --> 00:02:34,820
‫Yani, aslında, devam edelim ve bunu yapmayı deneyelim.

35
00:02:34,820 --> 00:02:36,800
‫Bu ifadeyi alacağım.

36
00:02:36,800 --> 00:02:41,330
‫Taşınan mesafe ve hareket mesafesinden daha büyüktür.

37
00:02:41,330 --> 00:02:50,180
‫Bunu kesip çıkaracağım ve bu platform dönüş fonksiyonu için dönüş ifadesi olarak koyacağım.

38
00:02:50,540 --> 00:02:56,210
‫Burada şikayet edeceğini fark ettiniz çünkü distance move, should platform return fonksiyonumuz

39
00:02:56,210 --> 00:02:58,220
‫içinde yerel bir değişken değil.

40
00:02:58,520 --> 00:03:00,290
‫O yüzden birkaç şeyi daha taşımamız gerekecek.

41
00:03:00,290 --> 00:03:06,830
‫Ancak bunu yapmadan önce, bir if deyiminde platformun dönmesi durumunda buna bir çağrı koymayı unutmak istemiyorum,

42
00:03:06,830 --> 00:03:12,530
‫bu nedenle platform dönmeli ve ardından parantezleri koymayı unutmayın, böylece işlev gerçekten

43
00:03:12,530 --> 00:03:14,900
‫F deyimimizin içinde çağrılır.

44
00:03:14,900 --> 00:03:17,180
‫Şimdi bana biraz daha iyi gelmeye başladı.

45
00:03:17,180 --> 00:03:21,410
‫Platformun geri dönmesi gerekiyorsa, aşağıdakilerin hepsini yaparız.

46
00:03:22,100 --> 00:03:29,600
‫Şimdi yapmamız gereken, MOVE platformunda sahip olduğumuz taşınan mesafe değişkenini getirmek.

47
00:03:29,600 --> 00:03:31,400
‫Aslında MOVE platformu içinde buna ihtiyacımız yok.

48
00:03:31,400 --> 00:03:35,990
‫İfade vermeden önce kesip getireceğim ve hatta koyacağım.

49
00:03:35,990 --> 00:03:43,760
‫Genellikle return deyimi bir işlevdeki son şeydir çünkü bir işlevden döndüğünüzde aslında başka

50
00:03:43,880 --> 00:03:45,590
‫bir şey yapmazsınız.

51
00:03:45,590 --> 00:03:53,720
‫Günlük mesajı gibi bir şey koyacak olsaydım, return ifademden sonra bir tür mesaj içeren bir you

52
00:03:53,720 --> 00:03:55,010
‫log koyardım.

53
00:03:55,430 --> 00:04:01,790
‫Genellikle derleyicinizden bu satıra asla ulaşılamayacağını ve muhtemelen bunu yapmak

54
00:04:01,790 --> 00:04:05,480
‫istemediğinizi söyleyen bir uyarı alırsınız.

55
00:04:05,780 --> 00:04:08,930
‫Bu yüzden return deyimi genellikle son şeydir.

56
00:04:09,590 --> 00:04:16,820
‫Should platform return fonksiyonunda taşınan mesafeyi tanımlayan çizgiyi geçtikten sonra, şimdi şunu söylediğini

57
00:04:16,820 --> 00:04:22,520
‫görebilirsiniz, hey, mevcut bir konumum yok ve mevcut konumu çok kolay bir şekilde yakalayabiliriz,

58
00:04:22,520 --> 00:04:28,610
‫should platform return'ü çağırmadan hemen önce mevcut konumu ayarladık.

59
00:04:28,610 --> 00:04:32,330
‫Yani aslında aktif bir konum elde etmek tam da istediğimiz şey.

60
00:04:32,330 --> 00:04:38,900
‫Bu yüzden bir değişken yerine, sadece yerdeki aktif konumu almak için bir çağrı koyacağım

61
00:04:39,230 --> 00:04:42,200
‫ve platform geri dönmelidir.

62
00:04:42,200 --> 00:04:48,590
‫Şimdi sahip olduğumuz şey, taşınan mesafenin başlangıç konumu ile aktif mevcut konum arasındaki

63
00:04:48,590 --> 00:04:50,480
‫mesafeye eşit olduğudur.

64
00:04:50,810 --> 00:04:56,000
‫Bu, yapılandırılmış hareket mesafesinden daha büyükse, evet, platform geri dönmelidir.

65
00:04:56,000 --> 00:05:01,520
‫Bu fonksiyonun söylediği şey budur ve MOVE platform fonksiyonumuzun içinden daha yüksek bir soyutlama

66
00:05:01,520 --> 00:05:03,890
‫seviyesinde kullanmamızı sağlar.

67
00:05:04,190 --> 00:05:09,590
‫Şimdi mesafe hareketinin aşımını yazdıramadığımızdan şikayet ettiğini fark edeceksiniz.

68
00:05:09,590 --> 00:05:10,970
‫Önemli bir şey değil.

69
00:05:11,000 --> 00:05:13,760
‫Aslında artık bunu basmak istemiyorum.

70
00:05:13,760 --> 00:05:15,470
‫Zaten işlevimi de bozuyor.

71
00:05:15,470 --> 00:05:18,200
‫Bu yüzden aşım değişkeni satırını sileceğim.

72
00:05:18,200 --> 00:05:23,390
‫Get name satırını sileceğim, günlük mesajını sileceğim çünkü sadece geçici

73
00:05:23,390 --> 00:05:26,900
‫olarak oradaydı, dolayısıyla günlük geçici adı.

74
00:05:27,290 --> 00:05:32,210
‫Şimdi hareket platformu işlevimiz çok daha temiz görünmeye başlıyor.

75
00:05:32,210 --> 00:05:35,480
‫Burada konumla ilgili bazı güncellemeler yaptığımızı görebiliriz.

76
00:05:35,480 --> 00:05:38,480
‫Platformun geri dönüp dönmeyeceğini ve dönmesi gerekip gerekmediğini görebiliriz.

77
00:05:38,480 --> 00:05:41,660
‫Ardından konumu güncelliyor ve ters çeviriyoruz.

78
00:05:41,660 --> 00:05:48,740
‫Şimdi, burada biraz daha iyi görüneceğini düşündüğüm bir şey, en üstte bu kod demetine sahip olmak

79
00:05:48,740 --> 00:05:51,230
‫yerine bir alt deyimimiz olsaydı.

80
00:05:51,230 --> 00:05:58,190
‫Dolayısıyla, platformun geri dönmesi gerekiyorsa, bunu çalıştıracağız, aksi takdirde onu ilerletmek açısından normal

81
00:05:58,190 --> 00:05:59,570
‫kodu çalıştıracağız.

82
00:05:59,570 --> 00:06:03,860
‫Bu nedenle, alt ifade hakkında konuştuğumuz zamana geri döndüğümüzü hatırlayın.

83
00:06:03,890 --> 00:06:07,610
‫Sadece bir if ifadesinden sonra gelir ve bunu bu şekilde yaparız.

84
00:06:07,610 --> 00:06:12,800
‫Parantezlerden sonra yeni bir satır açıp else yazıyoruz, ardından yeni bir satır daha açıp yeni parantezler

85
00:06:12,800 --> 00:06:17,120
‫açıyoruz ve burada bulunan kodu işaretimizin en üstüne taşıyabiliyoruz.

86
00:06:17,120 --> 00:06:20,510
‫Bunu alıp alt ifadenin içine taşıyabiliriz.

87
00:06:20,510 --> 00:06:22,850
‫Şimdi oldukça basit görünüyor.

88
00:06:22,850 --> 00:06:26,900
‫Platform döndükten sonra platformu döndüren kod başka bir şey mi yapmalı?

89
00:06:26,900 --> 00:06:30,740
‫Platform hızımızla platformu ileriye taşıyoruz.

90
00:06:30,740 --> 00:06:35,030
‫Şimdi sizi geri dönüş değeri olan kendi fonksiyonunuzu yaratmaya davet ediyorum.

91
00:06:35,030 --> 00:06:38,060
‫Bir get distance moved fonksiyonu eklemenizi istiyorum.

92
00:06:38,060 --> 00:06:41,990
‫Şu anda bunu taşınan mesafe adlı bir değişkende hesaplıyoruz.

93
00:06:42,020 --> 00:06:45,860
‫Bunun yerine bir fonksiyon çağrısı yapmanızı istiyorum.

94
00:06:46,310 --> 00:06:54,410
‫Bu yüzden bir float döndürmelidir çünkü taşınan mesafenin türü budur, bunu should platform return içinde çağırmalıyız.

95
00:06:54,410 --> 00:06:59,000
‫Bu yüzden vektör dist'i kullanmak yerine kendi uygulamamızı kullanmalıyız.

96
00:06:59,000 --> 00:07:02,000
‫Peki hangi kodu içermelidir?

97
00:07:02,000 --> 00:07:04,190
‫İçine hangi kodu koymalıyız?

98
00:07:04,220 --> 00:07:09,680
‫Buradaki ipucu, bu kodu zaten yazmış olmamızdır, yani sadece kopyalayıp yeni fonksiyona yapıştırıyorsunuz.

99
00:07:09,680 --> 00:07:14,960
‫Ancak geri dönüş ifadesinin ne olması gerektiği hakkında biraz düşünün, öyle ki geri döndürdüğümüz

100
00:07:14,960 --> 00:07:17,390
‫şey taşınan mesafe değeridir.

101
00:07:17,420 --> 00:07:19,220
‫Videoyu duraklatın ve deneyin.

102
00:07:22,950 --> 00:07:23,850
‫Tekrar hoş geldiniz.

103
00:07:24,150 --> 00:07:26,150
‫Şimdi dosya yöneticimize gidelim.

104
00:07:26,160 --> 00:07:33,330
‫Buraya get distance moved adında float dönüş değeri olan yeni bir fonksiyon ekleyeceğiz.

105
00:07:33,330 --> 00:07:36,240
‫Ve sonra parantez içinde hiçbir argümanımız olmayacak.

106
00:07:36,420 --> 00:07:39,150
‫Sonra da hareketli platformumuza geçeceğiz.

107
00:07:39,150 --> 00:07:51,600
‫CP Bir şamandıra, hareketli bir platform, iki nokta üst üste, iki nokta üst üste taşınan mesafe veya taşınan mesafeyi alacağız, parantezler

108
00:07:51,600 --> 00:07:53,550
‫demeliyim.

109
00:07:53,550 --> 00:07:58,020
‫Ve sonra bir sonraki satıra yeni bir parantez seti koyacağız.

110
00:07:58,410 --> 00:08:04,320
‫Ve geri döndürmek istediğimiz şey, tam anlamıyla mesafe taşıma float'umuzu oluşturmak için kullandığımız

111
00:08:04,320 --> 00:08:07,950
‫ifadedir, bu yüzden onu kesip buraya yapıştırabilirim.

112
00:08:07,950 --> 00:08:14,280
‫Yani f vektörü, iki nokta üst üste, iki nokta üst üste, dist, başlangıç konumu, aktif konumu al ve bu satırın sonuna noktalı

113
00:08:14,280 --> 00:08:15,240
‫virgül koy.

114
00:08:15,390 --> 00:08:17,610
‫Bu da platformun geri dönmesi gerektiği anlamına geliyor.

115
00:08:17,610 --> 00:08:22,560
‫Şimdi bu mesafe taşıma değişkenine sahip olmak yerine, yarısı tamamlanmış olan satırı sileceğim.

116
00:08:22,950 --> 00:08:27,630
‫Geri dönüp mesafeyi açacağız.

117
00:08:28,080 --> 00:08:31,890
‫Parantezler hareket mesafesinden daha büyüktür.

118
00:08:31,890 --> 00:08:39,660
‫Böylece, bir değişkene girecek olan şeyi aldık ve bunun yerine kendi işlevine çektik.

119
00:08:39,660 --> 00:08:45,180
‫Bu da, taşınan mesafeye başvurmak istediğimizde, bu günlük mesajını MOVE platformunda

120
00:08:45,180 --> 00:08:51,990
‫tutmak istediğimizde, sınıfımızdaki herhangi bir işlevden taşınan mesafeyi alma işlevini kolayca çağırabileceğimiz

121
00:08:51,990 --> 00:08:53,880
‫anlamına gelir.

122
00:08:53,880 --> 00:08:54,450
‫Harika bir şey.

123
00:08:54,450 --> 00:09:00,570
‫Bu derste return deyimleri ve return değerleri hakkında bilgi edindik ve bunları sınıfımızda iki yeni

124
00:09:00,570 --> 00:09:03,120
‫fonksiyon oluşturmak için kullandık.

125
00:09:03,120 --> 00:09:04,590
‫Bir sonraki derste görüşürüz.

