Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1334
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Verdiğim kodda bir şeyi değiştiren Aleksey'di. Ya da belki gözden kaçırdım - basit bir örnek olarak "dizlerimin üstüne" yazdım, ne olduğunu hatırlamıyorum.
M.b. Alexey anlatacak
Döngünün yinelemesi bitmeyecek ve yenisi başlamayacak, ancak bir sonraki If'ye geçecektir. Mantık değişecek.
Artyom Trishkin :
Это Алексей что-то переделывал в том коде, который я давал. А может и я недоглядел - писал "на коленке" в качестве простого примера для пояснения уже не помню чего.
Artem, burada bu anahtar kelime neden kullanılıyor? Sonuçta, onsuz bile, yöntemler sınıf üyeleriyle çalışacak ...
Alex, böyle ayrıntılı bir cevap için teşekkürler.
Yukarıdaki kod parçasında ret değişkeninin amacı net değil...
Yöntem yine de dizi[0] döndürürse neden hesaplanır?
ZY
Bunu neden bir sınıf yönteminde kullanıyorsunuz? Bu özel sınıfın üyeleriyle çalışıyoruz...
- CopyTime işlevi bir değer döndürdüğünden, bir değişkene dönmesine izin verin, bundan daha kötü olmayacak... Hata ayıklama durumunda, ne olduğunu kontrol etmek mümkün olacaktır.
- Bu Artyom tarafından yazılmıştır. Görünüşe göre kişisel tercih. Bazıları gerekli - yazmanıza gerek yok:
not; Değişkenin tipinin ret datetime olduğunu şimdi fark ettim... Elbette, int tipinde olmalı. Eh, ayrıca düzeltilmesi gerekecek ...1. CopyTime işlevi neden burada ?
2. M.b. Artem buna cevap verecek - kişisel tercih mi yoksa gerekli mi?
1. CopyTime işlevi neden burada ?
2. M.b. Artem buna cevap verecek - kişisel tercih mi yoksa gerekli mi?
CopyTime()'ı sevmeyin, iTime() ile değiştirin. Fark yok, asıl şey mevcut çubuğun zamanını almak.
Bunun ne zaman yazıldığına dair belirsiz bir hatıra kafamda beliriyor. Görünüşe göre bu soruyu ben de sordum... Ve eğer hiçbir şeyi karıştırmazsam, bu, çağrının yalnızca diğer sınıflarda benzer yöntemler varsa, yerel yöntemlere olacağını garanti eder. Ve elbette Artyom açıklığa kavuşturacak.
Numara. Orada, koşul başlangıçta, işaretçi başarıyla oluşturulduysa listeye eklenecek şekilde ayarlandı. Kavisli ayraç kapatılır ve başarısız olursa, basitçe ekleme yapılmayacaktır. Ve devam ifadesi ile; Mantık biraz farklı ama sonuç aynı.
Evet sonuç aynı, içi farklı. Benim için, renk ve mantık için olmasına rağmen, bir süreklilik ile daha hızlı ....
Artem, burada bu anahtar kelime neden kullanılıyor? Sonuçta, onsuz bile, yöntemler sınıf üyeleriyle çalışacak ...
İrade. Bunu kullanıyorum çünkü istiyorum :) Bu açıkça hangi sınıf yöntemlerinin kullanıldığını gösterir.
İki sınıfınız varsa - bir ebeveyn ve ikincisi sırasıyla bir ardılsa ve aynı adla iki yöntem tanımlarlar, ancak bir nedenden dolayı sanal değillerse, hangi yöntemin kullanılacağını açıkça belirtmeniz gerekir.
Diyelim ki üst sınıf CParent ve devralınan sınıf C Kalıtıldı ve her ikisinin de Method() yöntemi var.
Bu durumda, CParent üst sınıfında Method() yöntemini çağırırsak, CParent sınıfının yöntemi açık bir şekilde çağrılır - burada bu gerekli değildir. Bir metodu onlu veya onsuz çağırabilirsiniz.
Miras alınan C Inherited sınıfında Method() yöntemini çağırırsak, önce çağrıldığı sınıfa ait bir yöntem arandığından, bu sınıfın yöntemi de çağrılır.
Bu yöntemi CParent::Method() yöntemiyle devralınan devralınan C sınıfında çağırırsak, burada üst sınıfa ait yöntemi bağlam çözümleme operatörüyle açıkça belirttiğimiz için üst sınıfın yöntemi çağrılır.
Ama yine de yöntemi çağırırdım Miras alınan C sınıfındaki Method() Bununla miras alınır - bu (bu == "bu") miras alınan sınıfın yönteminin çağrılacağından emin olmak için.
Bunun kullanımı için başka açıklamalar da var. Belki OOP'de daha deneyimli biri söyler.
Evet sonuç aynı, içi farklı. Benim için, renk ve mantık için olmasına rağmen, bir süreklilik ile daha hızlı ....
Hiçbir fark olmamalı. Sadece benim için kod daha güzel görünüyor - parantez ve girintilerle daha az yüklü.
- CopyTime işlevi bir değer döndürdüğünden, bir değişkene dönmesine izin verin, bundan daha kötü olmayacak... Hata ayıklama durumunda, ne olduğunu kontrol etmek mümkün olacaktır.
- Bu Artyom tarafından yazılmıştır. Görünüşe göre kişisel tercih. Bazıları gerekli - yazmanıza gerek yok:
not; Değişkenin tipinin ret datetime olduğunu şimdi fark ettim... Elbette, int tipinde olmalı. Eh, ayrıca düzeltilmesi gerekecek ...İyi evet. Ben bu "bazılarından" biriyim , özellikle bir sınıftan standart bir işlev çağırdığımda, her zaman genel bağlamı belirtirim. Sırf bu sınıfta standart fonksiyonla aynı ada sahip bir metot yazmayı düşünebildiğim için - böylece ne yaptığını asla unutmam. İşte o zaman :: standart işlevi çağırmak için kullanışlı olur ve bu - aynı adlı yöntemimi çağırmak için.