2 sonuç döndüren işlev? - sayfa 2

 
cameofx :

irusoh1 açıklamasında eksik olan şey, değişkenin Array(s) olması gerektiğidir [...]

irusoh1 haklı: değişkenin bir dizi olması gerekmez. Örneğin:

 int start()
{
   int returnvalue1, returnvalue2;
   returnvalue1 = Example(returnvalue2);
   MessageBox ( "Example 1: " + returnvalue1 + "\r\nExample 2: " + returnvalue2);
}

int Example( int & referenceparameter)
{
   referenceparameter = 2 ;
   return ( 1 );
}
 
inkexit :

Bir fonksiyondan 2 sonuç döndürmem gerekiyor.

İki (veya daha fazla) sonuç değişkenlere atanacaksa, bunları global olarak bildirmeniz ve bunlara işlevde değerler atamanız yeterlidir.
 
engcomp :
İki (veya daha fazla) sonuç değişkenlere atanacaksa, bunları global olarak bildirmeniz ve onlara işlevde değerler atamanız yeterlidir.
Genel değişkenlerin sayısını en aza indirmek iyi bir programlama uygulaması olarak kabul edilir. Bazı değişkenleri referans olarak iletmek (birden fazla değişkenin döndürülmesi gerekiyorsa), bunları global bir kapsamda bildirmekten daha iyidir.
 
gordon :
Global değişkenlerin sayısını en aza indirmek iyi bir programlama uygulaması olarak kabul edilir. Bazı değişkenleri referans olarak iletmek (birden fazla değişkenin döndürülmesi gerekiyorsa), bunları global bir kapsamda bildirmekten daha iyidir.
Teşekkürler Gordon, bunu bilmiyordum.
 
jjc :

irusoh1 haklı: değişkenin bir dizi olması gerekmez. Örneğin:

O zaman konuyu cevaplarken benim ifadem ve konseptim yanlış. Yine de, referansla geçme amacının özünde Array(s) by function ile değiştirmenin pratik yolu olduğunu görüyorum.

Değişkenler üzerinde referans işlevi olarak iletilen parametreyi kullanmak, yalnızca X sayıda değişkeni ve artı bir değişkeni dönüşle değiştirmenin pratikliğine sahiptir.

Dizi için kullanırken, parantez içindeki X Dizi sayısını, her Dizinin Y boyutunun çarpımına izin verir.

 

Diziler ae her zaman referansla iletilir. MQL dizileriyle ilgili sorun, işlev içinde değiştirilememeleridir (yeniden boyutlandırma gibi) yalnızca üyeleri tarafından yapılabilir.

Hiçbir anlam ifade etmez ve dizi işleme kapsamını sınırlar.

Belki bu MQL5'te düzeltildi?

 
irusoh1 :

[...] MQL dizileriyle ilgili sorun, bunların işlev içinde değiştirilememeleridir (yeniden boyutlandırma gibi) yalnızca üyeleri tarafından yapılabilir.

Bir fonksiyona referansla geçirilen bir diziyi fonksiyonun içinden yeniden boyutlandırabilirsiniz... Ne demek istiyorsun?
 
[...] MQL dizileriyle ilgili sorun, işlev içinde değiştirilememeleridir (yeniden boyutlandırma gibi) only their members can .

@ irusoh1 : Fonksiyon parametrelerini dinamik hale getirmek mi demek istiyorsunuz ? Ben de anlamıyorum.

@ Gordon : Neden 'parametreler değere göre geçirilir' dediklerini biliyor musunuz? Diziler yalnızca referans yoluyla iletilebilir'. Bunun kodda nasıl olacağını biliyorum ama mantığını anlamıyorum. Örneğin, durumun böyle olmadığı başka bir dilde herhangi bir olay var mı? yani Diziler değere veya başka bir şeye göre iletilir. Bu kuralın tersi ne olurdu bilemem,,,

 

cameofx :

@ Gordon : Neden 'parametreler değere göre geçirilir' dediklerini biliyor musunuz? Diziler yalnızca referans yoluyla iletilebilir'. Bunun kodda nasıl olacağını biliyorum ama mantığını anlamıyorum. Örneğin, durumun böyle olmadığı başka bir dilde herhangi bir olay var mı? yani Diziler değere veya başka bir şeye göre iletilir. Bu kuralın tersi ne olurdu bilemem,,,

İşte basitleştirilmiş bir açıklama -> https://www.mql5.com/en/forum/117210 . Diziler, MQL4'te her zaman referansla iletilir.
 

herkese selam

Gordon şunları söyledi: Global değişkenlerin sayısını en aza indirmek iyi bir programlama uygulaması olarak kabul edilir. Bazı değişkenleri referans olarak iletmek (birden fazla değişkenin döndürülmesi gerekiyorsa), bunları global bir kapsamda bildirmekten daha iyidir.

Kusura bakmayın ama bu "teknik" bir yanıt değil :) Neden değişkeni global değişken yerine referansa göre iletmenin daha iyi olduğunu söyleyebilir misiniz?

Teşekkürler

Philippe