Jump to page: 1 2
Thread overview
Dizilerde karışık türler
Aug 13, 2022
Cos00kun
Aug 13, 2022
Salih Dincer
Aug 13, 2022
Cos00kun
Aug 13, 2022
Salih Dincer
Aug 13, 2022
Cos00kun
Aug 13, 2022
Cos00kun
Aug 13, 2022
Salih Dincer
Aug 13, 2022
Salih Dincer
Aug 13, 2022
Ali Çehreli
Aug 13, 2022
Cos00kun
Aug 15, 2022
Cos00kun
Aug 15, 2022
Ali Çehreli
Aug 15, 2022
Cos00kun
Aug 15, 2022
Ali Çehreli
Aug 15, 2022
Cos00kun
August 13, 2022

D dilinde dizilere karışık türleri veri olarak yazabilen bir olanak varmıdır?
şöyle detaylandırayım; Örneğin lua dilinde;

GrupSablon=
{
   ["modulation"] = 2,
   ["task"] = "CAP",
   ["uncontrolled"] = false,
   ["route"] = 25.5698745,
   [1]=
   {
      ["task1"] = "CAS",
   }
}
şeklinde dizinin içine ister karakter olsun ister float olsun isterse int olsun her türlü veriyi yerleştirebiliyoruz hatta indexleri bile string yada number yazabiliyoruz. Buna benzer bir olanak yada kullanım yöntemi varmıdır D dilinde ?
August 13, 2022

On Saturday, 13 August 2022 at 14:18:36 UTC, Cos00kun wrote:

>

D dilinde dizilere karışık türleri veri olarak yazabilen bir olanak varmıdır?
şöyle detaylandırayım; Örneğin lua dilinde;

GrupSablon=
{
   ["modulation"] = 2,
   ["task"] = "CAP",
   ["uncontrolled"] = false,
   ["route"] = 25.5698745,
   [1]=
   {
      ["task1"] = "CAS",
   }
}
şeklinde dizinin içine ister karakter olsun ister float olsun isterse int olsun her türlü veriyi yerleştirebiliyoruz hatta indexleri bile string yada number yazabiliyoruz. Buna benzer bir olanak yada kullanım yöntemi varmıdır D dilinde ?

import std.json;

August 13, 2022

On Saturday, 13 August 2022 at 15:29:38 UTC, Salih Dincer wrote:

>

import std.json;
vay arkadaş yine mi json :) Bu seferde import olarak gelmiş beyfendi. Baktım şimdi pek bi karışık geldi şimdilik. Daha sonraki zamanlarda detaylı inceleyeceğim. Bugün D dili ile bilgilerimi bayağı bi kurcaladım iyi gidiyor..

August 13, 2022

On Saturday, 13 August 2022 at 19:06:51 UTC, Cos00kun wrote:

>

[..] Baktım şimdi pek bi karışık geldi şimdilik. Daha sonraki zamanlarda detaylı inceleyeceğim...

Aslında çok karışık değil, son yaptığım örnekle başlayalım. Önce basit verimiz olsun ve biz onu parse edelim. İşte şurda hazırı var:

string veri = `
{
  "OKUL": {
    "gelen": {
      "öğrenciler": [{
        "adı": "Mehmet Demir",
        "numarası": 12257000,
        "fakültesi": "Makine Mühendisi"
      },
      {
        "adı": "Kaan Haktan",
        "numarası": 11154217,
        "fakültesi": "Elektronik Mühendisi"
      },
      {
        "adı": "Ahmet Candan",
        "numarası": 41153007,
        "fakültesi": "Endüstri Mühendisi"
      }]
    },
    "mezun": {
      "öğrenciler": [{
        "adı": "Celal Bayar",
        "numarası": 12530154,
        "fakültesi": "Makine Mühendisi"
      },
      {
        "adı": "Hakan Cengiz",
        "numarası": 293813877,
        "fakültesi": "Elektronik Mühendisi"
      }]
    }
  }
}`;

Yukarda aslında 2 alan var, dilersek mezun olan öğrencileri seçebilirdik ama sırayla ve hızlıca nesneleri seçip ekrana yazalım:

void main() {
  import std.json;
  auto dizi = veri.parseJSON["OKUL"]
                  .object["gelen"]
                  .object["öğrenciler"]
                  .array;

  import std.stdio;
  dizi.writefln!"%(%s\n%)";
}

SDB@79

August 13, 2022

hmm bu örnek iyi oldu şimdi kavradım sanırım olayı. Biraz çalışayım bakalım bu konuyada

August 13, 2022

Birde bu yöntemi hafıza yönetimi ve hız performans açısından değerlendirebilir misin ? yani kendi çalıştığım bir konu için söyleyeyim daha yukarıdaki mesajda paylaştığım dizi örneğinin atıyorum 1000 - 2000 satırlık verilerini düşünürsek string olarak bunları alarak işlemek ve bunca işleme sokmak acaba ne kadar performanslı? Elbet yeterince bilgim olmadığı için sesli düşünüyorum sadece

August 13, 2022

On Saturday, 13 August 2022 at 19:30:47 UTC, Cos00kun wrote:

>

hmm bu örnek iyi oldu şimdi kavradım sanırım olayı. Biraz çalışayım bakalım bu konuyada

Bu örnek basitiydi, şimdi gelmek istediğim noktayı görünce hoşuna gitcek :)

Ben bunu şubat ayında şurda yayınlamıştım. Biraz çokuzlulardan gireyim dedim ama neticede JSON imdadıma yetişti. Bu vesileyle iyi ki Java var ve Douglas Crockford; sağ olsun güzel bir standart yazmış...

import std.algorithm;
import std.stdio, std.json;

void main() {
  enum kıstas = "a < b";
  auto okulum = SIRALA!int(veri, "OKUL");
// Sıralanan verinin, kaynağı-^ kökü-^

  okulum.school!kıstas.writeln;
  okulum.number!kıstas.writeln;
}
/* Çıktısı:
Elektronik Mühendisi Kaan Haktan/11154217
Endüstri Mühendisi Ahmet Candan/41153007
Makine Mühendisi Mehmet Demir/12257000

Elektronik Mühendisi Kaan Haktan/11154217
Makine Mühendisi Mehmet Demir/12257000
Endüstri Mühendisi Ahmet Candan/41153007


Process finished.Elektronik Mühendisi Kaan Haktan/11154217
Endüstri Mühendisi Ahmet Candan/41153007
Makine Mühendisi Mehmet Demir/12257000

Elektronik Mühendisi Kaan Haktan/11154217
Makine Mühendisi Mehmet Demir/12257000
Endüstri Mühendisi Ahmet Candan/41153007
*/

SIRALA'ya verdiğim başlıktan erişebilirsin. Tabi çaprazlama AA'yı kullandım. Şimdi aklıma geldi, belki aradığın Çokuzlu'dur yani Tuple olanağı. Hatta std.variant'da Algebraic vardı ya da std.sumtype falan neler var ya hu. Ama JSON cepte. Bundan sonra veri ağacını nasıl oluşturacağını anlatcam.

Bildiğim AA olayları, çok kolay...

August 13, 2022

On Saturday, 13 August 2022 at 19:35:59 UTC, Cos00kun wrote:

>

Birde bu yöntemi hafıza yönetimi ve hız performans açısından değerlendirebilir misin ?

Denemedim ama bu konuda YAML öneriliyor ve geçen ay 2 güncelleme geldi. Hız konusumda iddalı!

Forumdan Duyuru
https://forum.dlang.org/post/fofcsqbkdzfglrhcrgpo@forum.dlang.org

August 13, 2022
On 8/13/22 07:18, Cos00kun wrote:
> D dilinde dizilere karışık türleri veri olarak yazabilen bir olanak
> varmıdır?

Var ama böyle durumlar çok nadirdir. Salih'in en son söylediği gibi, SumType ve Variant kullanılabilir.

> şöyle detaylandırayım; Örneğin lua dilinde;
>
>      GrupSablon=
>      {
>         ["modulation"] = 2,
>         ["task"] = "CAP",
>         ["uncontrolled"] = false,
>         ["route"] = 25.5698745,
>         [1]=
>         {
>            ["task1"] = "CAS",
>         }
>      }
>      şeklinde dizinin içine ister karakter olsun ister float olsun
> isterse int olsun her türlü veriyi yerleştirebiliyoruz hatta indexleri
> bile string yada number yazabiliyoruz. Buna benzer bir olanak yada
> kullanım yöntemi varmıdır D dilinde ?

lua çok dinamik olduğundan yukarıdaki gibi bir kullanım herhalde orada normaldir. O kullanıma bakınca sanki D'de yapılar kullanılabilirmiş gibi geldi:

struct GrupŞablon {
  int modulation;
  string task;
  // vs.
}

Eğer öyleyse sonuçta elimizde ya tek GrupŞablon nesnesi olur ya da onların bir araya geldiği GrupŞablon[].

json, böyle nesnelerin bir dosyaya yazılması ve sonra oradan okunması konularında kullanılabilir.

Ali

August 13, 2022
evet Luanın en güçlü özelliği (kendi alanında) zaten diziler. Nesne tabanlı olmamasına rağmen Dizilere eleman olarak fonksiyon ekleyerek ve metatablo kullanarak o diziyi nesne gibi kullanabiliyor. Script için güçlü bir dil ama D gibi çok genele yayılabilen bir  bir dil değil elbet.
Dediklerinize biraz daha çalıştıktan sonra detaylıca bakacağım. açıkçası 1 tekrarla bile birçok şeyi hatırladım D dilinde. Birkaç gün içinde istediğim düzeye gelir ve bahsettiğiniz konuları tam olarak kavramaya başlarım sanırım :)


« First   ‹ Prev
1 2