Hatalar, hatalar, sorular - sayfa 1332
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Tavsiyeniz pratikte anlamsız. Hiç kimse özellikle aynı isimleri vermez. Yerel işlevler kodu kendi ayrı yaşamını yaşar. Ve harici program - kendi. Aynı zamanda, dış değişkenlerin adları zamanla değişebileceği gibi yeni dış değişkenler de eklenebilir. Ve bundan sonra birdenbire yüzlerce fonksiyondan birinde aynı ada sahip yerel bir değişken olacaksa , global değişkeni yeniden adlandırmanın neden gerekli olduğunu düşünüyorsunuz? Geliştiricilerin hataları için bahane aramayın.
Geliştiricilerin hataları için bir bahane aramadım, ancak bir projede çalışırken giriş parametrelerinden sorumlu değişken adlarını kullanmazsanız bu hatayı aşmak kolaydır. Sadece giriş parametrelerindeki adı değiştirin, giriş parametrelerinde yüzlerce değişkeniniz olduğundan şüpheliyim ve tüm kodu düzenlemeniz gerekecek :) yazılım giriş noktasında, kural olarak, kodun ana kısmı yazılır ve o kadar büyük değil, her şeyişlev çağrıları (yöntemler) ile yapılır. Ve işlevler (yöntemler) için, işlevin giriş parametrelerinde hangi değişken adının iletildiği arasında hiçbir fark yoktur.
Eğer fonksiyonlarda global değişkenlerin kullanıldığı bir kod yazarsanız tabii ki çok fazla edit yapmak zorunda kalırsınız ama böyle bir kod kesinlikle geleceğe bakmadan oluşturulmuş, modernize etmek gerçekten çok zor.
Geliştiriciye (MetaQuotes) tüketici görünümüyle bakarsanız, elbette her şeyi aynı anda istersiniz :) İş kolaylığı için terminalin çapraz platform olmasını istiyorum, ancak yalnızca bir tane olacak böyle bir isteğe cevap verin - ya mevcut olanı kullanın ya da yürüyün :)
Sadece giriş parametrelerindeki adı değiştirin ...
Anlamsız bir bakışın var. Öyleyse al ve değiştir... Sonra koda, yerel değişkenin adla eşleşeceği ve tekrar değişeceği başka bir işlev eklenecek, değil mi? Harici bir değişkenin adı sizin için sadece bir harf kümesi değildir, aynı zamanda belirli bir anlam taşır. Bazen onun için özlü ve geniş bir isim seçerek düşünmeniz gerekir. Ve değişimden bahsediyorsun. Evet ve tüm önceden ayarlanmış ayarlar ile test cihazı ve optimize edici, ad değiştirilirken bu parametre için başarısız olur.
Kendimi tekrar edeceğim, yerel kod kendi hayatını yaşıyor ve buna kesinlikle uyum sağlamaya gerek yok. Diyelim ki dışarıdan bir yerden belirli bir fonksiyon eklediniz, belki onu yazmadınız bile, yani oradaki yerel değişkenlerin isimleri kesinlikle her şey olabilir.
Anlamsız bir bakışın var. Öyleyse al ve değiştir... Sonra koda, yerel değişkenin adla eşleşeceği ve tekrar değişeceği başka bir işlev eklenecek, değil mi? Harici bir değişkenin adı sizin için sadece bir harf kümesi değildir, aynı zamanda belirli bir anlam taşır. Bazen onun için özlü ve geniş bir isim seçerek düşünmeniz gerekir. Ve değişimden bahsediyorsun. Evet ve tüm önceden ayarlanmış ayarlar ile test cihazı ve optimize edici, ad değiştirilirken bu parametre için başarısız olur.
Kendimi tekrar edeceğim, yerel kod kendi hayatını yaşıyor ve buna kesinlikle uyum sağlamaya gerek yok. Diyelim ki dışarıdan bir yerden belirli bir fonksiyon eklediniz, belki onu yazmadınız bile, yani oradaki yerel değişkenlerin isimleri kesinlikle her şey olabilir.
Uygun gördüğünüzü yapın, ancak büyük projeler yazmamış olmanız çok muhtemeldir.
İşlevlerimin tanımlarına bakmamın bir anlamı yok, çünkü Global ve yerel değişken adlarını bildirme tarzında net bir ayrımım var. Dolayısıyla global ve yerel değişken isimlerinin çakışması gibi sorunlarla karşılaşmıyorum. Ana şey, işlevlerin mantıklarını çarpışma olmadan çalışmasıdır. Sizin durumunuzda, büyük bir AMA var, yerel bir değişkenin adıyla aynı global değişken adına sahipseniz, o zaman zaten toplamaya başladığınız sürprizleri bekleyin.
Örnek olarak, yerel bir değişken adına ek bir _ karakteri koyun, örneğin _iCount. Bu durumda, değişken isimleri ile asla problem yaşamazsınız, çünkü bana ikinci kez açıklamaya çalıştığınız şey yerine getirilecek - değişkenler, görünürlüklerinin yerel bölgesinde, oluşturuldukları yerde yaşıyor. Ve bu durumda hiçbir global değişken, isimlerde belirsizliğe neden olmaz. Ve bu konudaki anlaşmazlığımızı kapatacağız.
Bir önceki mesajıma dönüyorum. MT4/845, Windows7/64 bit, komut dosyası:
Sonuç:
Yönetim, DoubleToString'e , bu işlevin kayan nokta sayılarını belirtilen kesinliğe yuvarladığını ekleyin.
İyi için, aynı yerel ve girdi değişkenlerini adlandırmanıza gerek yok
İyi için, aynı yerel ve girdi değişkenlerini adlandırmanıza gerek yok
ME'deki satıra ekli dosyada boşluk bırakmadan devam etmeye çalışın
Herhangi bir konuyu tartışırken, Market'te bulunan bir ürüne bağlantı verebilir misiniz? Yoksa reklam olarak değerlendirilip yasak mı olacak?
Şüpheli derleme sonucu ? :
Sonuç: 65618 (ve nasıl böyle oldu?), ancak bir derleme hatası olmalı