Thread overview
is işleçi denemeleri
Jul 13, 2022
Salih Dincer
Jul 13, 2022
Ali Çehreli
Jul 14, 2022
Salih Dincer
July 13, 2022

Merhaba,

Şimdilik 4 denemenin kısmen yarısı tamam ama neden sondan ikisi true, true verir?

import std.stdio;

void main()
{
  alias t1 = long;
  t1 int64 = long.max;

  alias t2 = int;
  t2 int32 = int.max;

  assert(int32 < int64); // ok

  is(t1 : t2).writeln(", ", int.max is int32);
  // false, true

  int dört = 4;

  is(t1 : int).writeln(", ", dört is int32);
  // false, false

  is(t2 : long).writeln(", ", dört is 4);
  // true, true

  is(t2 : typeof(long(1))).writeln(", ", dört is 4LU);
  // true, true
}

Teşekkürler...

July 13, 2022
On 7/13/22 12:52, Salih Dincer wrote:

>    is(t2 : long).writeln(", ", dört is 4);
>    // true, true

t2 long'a dönüşür mü? Evet.
dört ile 4 aynı mı? Evet.

İkincisinde "kimlik" konusu ortaya çıkmalı diye düşünürüz. Ben 4 diye bir hazır değerin kimliğinin olmadığını biliyorum. O yüzden başka şey diyemem.

>    is(t2 : typeof(long(1))).writeln(", ", dört is 4LU);
>    // true, true

Aynı soru: Evet.
dört ile 4LU aynı mı? Evet.

İkincisinde işe aritmetik dönüşüm de karışıyor:


http://ddili.org/ders/d/tur_donusumleri.html#ix_tur_donusumleri.int%20terfisi

Ali

July 14, 2022
On Wednesday, 13 July 2022 at 20:05:06 UTC, Ali Çehreli wrote:
>
> İkincisinde "kimlik" konusu ortaya çıkmalı diye düşünürüz. Ben 4 diye bir hazır değerin kimliğinin olmadığını biliyorum. O yüzden başka şey diyemem.

Haydaaa! Alın size yeni bir makale konusu...