January 09, 2022

On Sunday, 9 January 2022 at 10:17:45 UTC, Ali Çehreli wrote:

>
//..
    zar();
}

pure @nogc nothrow
int zar() {
    debug(zar) writefln!"hello %s"("world");
    // writefln!"hello %s"("world");
    return 0;
}

Ferhat hocam, bugün sorduğunuz soru üzerine biraz çalıştım ve debug olayını işe yarar şekilde örneklendirerek anlamaya çalıştım. Ancak şu @nogc'i neden istemediğiniz anlamadım çünkü eğer rasgele sayıyı main() içinde oluşturup zar()'a vermezsem derlenmiyor...

Örneğim şu:

import std.random;
import std.stdio, std.format;

void main ()
{
  auto rasgele = uniform(1, 7);
  rasgele.zar().writeln(" <--tataaaa!");
}

pure @nogc nothrow
int zar (int sonuç) {
  //* <--iptal etmek için bir slash'ı sil
    debug {
      writefln!"Sonuç = %s çıktı ama"(sonuç);
      string çiftMi = "çift";
      if(sonuç % 2) {
       çiftMi = "tek";
       sonuç = 0;
      }
      çiftMi.writeln(" sayı olduğu için ");
      writefln("return %d gibi dönecek!", sonuç);
    } //*/
  return sonuç;
} /* ÇIKTISI: (dmd -debug ile derlenirse)
Sonuç = 3 çıktı ama
tek sayı olduğu için
return 0 gibi dönecek!
0 <--tataaaa!
*/

Teşekküler, Salih Dinçer

1 2
Next ›   Last »