Thread overview
Sohbet: 6 Mart 2022, Pazar, sabah 10:00 (Türkiye saati)
Feb 25, 2022
Ali Çehreli
Feb 25, 2022
Salih Dincer
Feb 25, 2022
Ali Çehreli
Mar 02, 2022
Salih Dincer
Mar 06, 2022
Ali Çehreli
Mar 06, 2022
Ali Çehreli
February 24, 2022
Şurada:

  https://meet.jit.si/Ddili

Gündem şimdilik boş. Aklımıza gelen konuları, soruları, vs. buraya yazalım.

Ali
February 25, 2022

On Friday, 25 February 2022 at 00:59:59 UTC, Ali Çehreli wrote:

>

Gündem şimdilik boş. Aklımıza gelen konuları, soruları, vs. buraya yazalım.

Buradaki olanak ne işe yarıyor? Konu ilgimi çekti ve fakat bununla ne yapabildiğimizi anlamadım 😀

Wikipedia'da araştırdım şuraya kadar girdim ve adeta matematiğin derinliklerinde kayboldum: https://en.m.wikipedia.org/wiki/First-order_logic

Eğer konuyu işlerken kaybolmayız 😀 bu kesinlikle işe yarar diyorsanız öğrenelim derim!

Sevgiler...

February 24, 2022
SumType Güzel konu. Kendimiz yazmaya başlayarak öğreniriz.

On 2/24/22 19:25, Salih Dincer wrote:

> matematiğin derinliklerinde kayboldum:

O kadar fazla matematik akla zarar. :p

Ali

March 02, 2022

On Friday, 25 February 2022 at 05:23:22 UTC, Ali Çehreli wrote:

>

SumType Güzel konu. Kendimiz yazmaya başlayarak öğreniriz.

Bir başka güzel konu (bence), geçen hafta yabancı forumda sorulan ve burda da irdelediğim std.bitmanip'deki read/write olayları ama daha çok bigEndian/littleEndian konusu:

Bir yerde yazıyor mu bilmiyorum, Union'lar Little Endian'ı dikkate alıyormuş. Bunu az önce denediğim aşağıdaki kodla anladım:

import std.system;

auto read(T, Endian E = Endian.littleEndian, R)
         (R range) {
  import bop = std.bitmanip;
  return bop.read!(T, E)(range);
}

void write(T, Endian E = Endian.bigEndian, R)
          (R range, T value, size_t index = 0) {
  import bop = std.bitmanip;
  bop.write!(T, E)(range, value, index);
}
struct rgb {
  union Colors {
    uint RGBA;
    ubyte[4] bytes;

    string toString() const {
      import std.format;
      return format("%X", RGBA);
    }
  }

  Colors colors;

  this(int r, int g, int b, int a = 0) {
    this.colors.bytes[3] = cast(ubyte)r;
    this.colors.bytes[2] = cast(ubyte)g;
    this.colors.bytes[1] = cast(ubyte)b;
    this.colors.bytes[0] = cast(ubyte)a;
  }

  auto opCast(T : uint)() {
    return colors.bytes[].read!T;
  }

  string toString() const {
    import std.format;
    return format("#%02X%02X%02X",
    this.colors.bytes[3],
    this.colors.bytes[2],
    this.colors.bytes[1]);
  }
}

void main()
{
  rgb[string] Colors = [
    "LIGHTGRAY" : rgb( 200, 200, 200 ),
    "GRAY" :      rgb( 130, 130, 130 ),
    "DARKGRAY" :  rgb( 80,  80,  80  ),
    "YELLOW" :    rgb( 253, 249, 0   ),
    "GOLD" :      rgb( 255, 203, 0   ),
    "ORANGE":     rgb( 255, 161, 0   )
  ];

  foreach(color; Colors.keys) {
    auto c = Colors[color];
    writef("%8X => ", cast(uint)c);
    c.writeln(": ", color);
  }
} unittest {
  auto test = rgb(1, 2, 3);//
  auto rgba = cast(uint)test; // 16909056
  assert(rgba == test.colors.RGBA);
}

Belki bunu üzerinden size birşeyler anlatırım.

Sevgiler, saygılar...

March 06, 2022
On Friday, 25 February 2022 at 00:59:59 UTC, Ali Çehreli wrote:
> Şurada:
>
>   https://meet.jit.si/Ddili
>
> Gündem şimdilik boş. Aklımıza gelen konuları, soruları, vs. buraya yazalım.
>
> Ali

 Sohbetin olduğu günün bugün olduğunu yeni hatırladım. Evde müsait olmadığım için unutmuş olmalıyım. Katılamadığım için kusuruma bakmayın.
March 06, 2022
sOn 3/6/22 05:35, İsmail Emre ARIKAN wrote:

> Katılamadığım için kusuruma bakmayın.

Gelemediğine üzüldük ama hiçbir zorunluluk yok. :)

İlgili olarak, bundan sonraki iki sohbeti 11'de başlatmaya karar verdik. Biraz daha geç başlamanın daha kolay olacağını düşünüyoruz.

Ali

March 06, 2022
On 2/24/22 21:23, Ali Çehreli wrote:
> SumType Güzel konu.

SumType, temelde union ile birden fazla tür barındırabilmekle aynı şey. Algebraic ile hemen hemen aynı ama Algebraic emekli oluyor. Bir başka benzeri Variant...

SumType'la ilgili koda bakmadık ama Rohat, Andrei Alexandrescu'nun çok yeni yayınlanan CppCon 2021 sunumunun da bu konuyla ilgili olduğunu söyledi:

  https://www.youtube.com/watch?v=va9I2qivBOA

Ali