Forum: Ders Arası RSS
[Yardım] Eşleme Tabloları
Avatar
huseyin #1
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: [Yardım] Eşleme Tabloları
Merhaba Arkadaşlar
Öncelikle Ali Hocam ve diğer arkadaşlarımın yapacak olduğu sunuma gelemiyorum ve bundan çok büyük üzüntü duyuyorum umarım bir sonraki (tabi olursa) sunuma gelebilirim.
Soruma gelince benim bir tane eşleme tablom var diyelim adı "abc" olsun
string[] abc[string][string]
Bu şekilde tanımlı ben bunun verilerini bir dosyaya yazacağım ama index adlarıda lazım string[] olanı çözdüm ama index adlarını nasıl yazarım onu bilmiyorum projemde std.stream kullanıyorum

Şimdiden Çok Teşekkür Ederim İyi Çalışmalar
Huseyin
Kadir Can #2
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Merhaba;
Burada senin tam olarak ne istediğini bilmiyorum ama elde ettiğimiz biraz farklı olabilir.
Yaptığın tanım
string[][string][string] abc;
tanımına eşdeğer olarak çalışıyor.Bu tanımda abc'nin anahtar(key) değişkenleri string türünden oluşuyor.Değer(value) değişkenleri ise string[][string] türünden bir eşleme tablosu oluyor.Yani eşleme tablosunun içinde eşleme tablosu var.Bu şekilde bakınca biraz daha açık oldu sanıyorum.İşlemlerimizi de şu şekilde yapabiliriz:
import std.stdio;
void main()
{
    string[][string][string] abc;
    //Türe uygun bir atama yapıyoruz
    abc["Greetings"] = ["English":["Hello","world"]];
    //Aşağıdaki key değişkeni "Greetings değerini belirtiyor
    //Yani dıştaki eşleme tablosunun key değeri
    //Türü string
    foreach(key, value; abc){
        writeln(key);
        // Burada içteki eşleme tablosunu key ve value(val) değerlerine ayırıyoruz
        //index'in türü string
        //val'in değeri string[]
        foreach(index, val; value){
            writeln(index);
            writeln(val);
        }
    }
}
Bu mesaj Kadir Can tarafından değiştirildi; zaman: 2012-06-30, 03:56.
Değişiklik nedeni: Kod düzeninde ayarlamalar
Avatar
huseyin #3
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
evet mantığı sonunda anladım foreach ile yapmaya çalışmıştım simdi anladım teşekkür ederim
Huseyin
Kadir Can #4
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Rica ederim.İyi çalışmalar.
Avatar
huseyin #5
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Bu arada soru yagmuruna tutuyorum ama bir soru daha soracağım acaba bir stringden bir işareti kesip kalan string i baska bir string e hangi fonksiyonla atayabilirim split olur mu bununla ilgili  bir örnek isteyebilir miyim
Huseyin
Kadir Can #6
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Sanırım burada std.array modulündeki replace() işlevi işe yarayabilir.
Örnek:
import std.stdio;
import std.array;
void main()
{
    string hello = "Hello World!";
    string result = replace(hello, "l", "");
    //Hello World! yazar
    writeln(hello);
    //Heo Word! yazar
    writeln(result);
}
NOT:Wiki belgelerimizde bu işlev std.string modulünde görünüyor.dmd 2.052 ile std.array modülüne alınmış.Wiki'ye bir el atmak gerek.
Avatar
huseyin #7
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
hmm teşekkür ederim D ye yetişemiyoruz cok hızlı gelişiyor
Huseyin
Avatar
Salih Dinçer #8
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #1
huseyin325325 on 2012-06-30, 03:15:
Merhaba Arkadaşlar
Öncelikle Ali Hocam ve diğer arkadaşlarımın yapacak olduğu sunuma gelemiyorum ve bundan çok büyük üzüntü duyuyorum umarım bir sonraki (tabi olursa) sunuma gelebilirim.
Hangi şehirdesin? Bir sonrakine katılmanı isterim...

huseyin325325:
Soruma gelince benim bir tane eşleme tablom var diyelim adı "abc" olsun
Örneğin şu:
    string[string] abc = [ "aA": "A harfi",
                           "bB": "B harfi",
                           "cC": "C harfi"
                         ];
huseyin325325:
Bu şekilde tanımlı ben bunun verilerini bir dosyaya yazacağım ama index adlarıda lazım string[] olanı çözdüm ama index adlarını nasıl yazarım onu bilmiyorum
Çok basit:
    abc.keys.writeln;   // sadece anahtarları (index-->[string]) gösterir
// veya -->
    foreach(a;abc.keys) a.writeln;
Çıktısı:
["cC", "aA", "bB"]
cC
aA
bB
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
Avatar
huseyin #9
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Bu yöntemde güzel aslında teşekkür ederim ama sorun çözüldü foreach işlemi yeterli oldu
Isparta ilindeyim ve malesef programlama konusundan çok iyi bir şehir değil  ama belki bir sonrakine katılma  fırsatım olur
Huseyin
Avatar
huseyin #10
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Bu arada bizim burada Süleyman Demirel Üniversitesi var. Eger boş vaktiniz olursa ve yeterli katılım olursa burada da  bir sunum yapmanızı  isterim doğrusu
Huseyin
Avatar
Salih Dinçer #11
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Okullar açılsın o taraflara gelebilirim. Ben de SDÜ mezunuyum az çok oraları bilirim.
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
Avatar
huseyin #12
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
SDU çok iyi değil densede gayet güzel bir üniversite  bu arada tanışmayı çok isterim
Huseyin
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Forum: Ders Arası RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-21, 19:41:43 (UTC -08:00)