Thread overview
abbrev hakkındaki düşünceler
Mar 06, 2012
zafer
Mar 06, 2012
Salih Dinçer
Mar 06, 2012
zafer
Mar 06, 2012
Salih Dinçer
Mar 06, 2012
Salih Dinçer
Mar 06, 2012
Salih Dinçer
March 06, 2012

Alıntı:

>

'string[string] abbrev(string[] values); '
http://dlang.org/phobos/std_string.html#abbrev

import std.stdio;
import std.string;

void main()
{
   static string[] list = [ "food", "foxy" ];

   auto abbrevs = std.string.abbrev(list);

   foreach (key, value; abbrevs)
   {
       writefln("%s => %s", key, value);
   }
}

Çıktısı :

Alıntı:

>

fox => foxy
food => food
foxy => foxy
foo => food

string modülünü kurcalarken şöyle bir metot buldum. İlginç geldi siz ne dersiniz?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 06, 2012

Herhalde sözcükleri kullanarak bir arama ağacı oluşturuyor.

Örneğin bir hesap makinesi programı komut satırında "toplama", "çıkarma", "çarpma", ve "bölme" komutlarını kabul ediyor. Kullanıcının komutu tam haliyle uzun olarak yazması şart olmasın diye bu ağacın dalları da kabul ediliyor.

Örneğin kullanıcı yalnızca "t" yazsa "toplama" olduğu anlaşılıyor ama "ç" yazsa "çıkarma" ve "çarpma"yı ayırt etmek için yetersiz oluyor.

Ben bunun gibi fazla özel algoritmaların (wrap, soundex, vs.) standart kütüphanede bulunmasını garip buluyorum. Ama hiç olmamalarından daha iyi herhalde. :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 06, 2012

Teşekkürler bunu bilmiyordum...

İngilizce'nin adeta kanserleşmiş kısaltmalar kavramının (http://en.wikipedia.org/wiki/Abbreviation) algoritmaya dönüşmüş hali. Halbuki çok tembel değiller, hatta bu yabancılar gayet çalışkan insanlar...:)

Çok yararlı buluyorum; hele ki günümüzde bir çok arama kutusunda kendiliğinden (otomatik) tamamlama geleneğine de (-bknz. Autocomplete (http://en.wikipedia.org/wiki/Autocomplete)) koşut (parallel) görünüyor.

Alıntı (acehreli):

>

Örneğin kullanıcı yalnızca "t" yazsa "toplama" olduğu anlaşılıyor ama "ç" yazsa "çıkarma" ve
"çarpma"yı ayırt etmek için yetersiz oluyor.

Bu durumda Türkçe kütüphanemizi geliştirmeliyiz. Ne dersiniz trileri'nin ismi yerine daha kapsayıcı bir ifade kullanıp Türkçe için bir şeyler yapalım mı? Benim önerim örneğin com. tüm sınıflar demek ise com.tr.string üzerinde ve/veya alt sınıflara dallandırarak hatta Türkçe (!) adlandıralım:

  • com.tr.algoritma
  • com.tr.dosya
  • com.tr.sıralama
  • vb...

Olmadı, yani kafayı çok karıştırmayalım derseniz com.abece (Türkçe'de alfabe diye bir şey yoktur çünkü harflerimizi alfa, beta şeklinde ifade etmeyiz; doğrusu: abece) içine her şeyi toparlayabiliriz. Ben şahsen sizin emeklerinizi ve kendi algoritmaları ('module' etmek mi diyorsunuz?) toparlamaya başladım...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 06, 2012

Alıntı (Salih Dinçer):

>

Benim önerim örneğin com. tüm sınıflar demek ise com.tr.string üzerinde ve/veya alt sınıflara dallandırarak ...

Doğrusu bu com. olayını hiç anlamıyorum, bu yapıyı özellikle javada görüyorum ama tam olarak ne anlama geldiğni bilmiyorum. Diğer taraftan bana çok uzun ve gereksiz geliyor. Eğer illa ki Türkçe vurgusu yapılacaksa bence Phobos tarzı std.string benzeri trk.string gibi bir yapı düşünülebilir. Hatta burada küçük bir muziplikle şöyle bir öneride sunayım asz.string :-D

Alıntı:

>

hatta Türkçe (!) adlandıralım:

Türkçe isimlendirme konusunda bende Ali ile aynı düşünüyorum. Neticede dili geliştiren ekibin yapısına entegre bir şeyler yapmak bana daha anlamlı geliyor.

Alıntı:

>

(Türkçe'de alfabe diye bir şey yoktur çünkü harflerimizi alfa, beta şeklinde ifade etmeyiz; doğrusu: abece)

Bu abece işini hiç anlamadım :nuts:

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 07, 2012

Ben de sizlerle aynı düşünüyorum ya da siz beni yanlış anladınız...:)

Kesin ve net şekilde belirtmeliyim ki Phobos'un Türkçesi'ni yapalım demiyorum. Bu hem gereksiz bir şey hem de iki kütüphane arasında karışıklığa neden olur. As olan D geliştiricilerin üzerinde çalıştığı Phobos'dur ama biz Türkler için bundan ayrı bir şey (eklenti) yapmamızın bir mahsuru olmamalı. Zaten trileri ile bir başlangıç yapılmış.

com. yapısını örnek vermemin sebebi ise std.'den ayrı olması içindi. Sonuçta bizim sınıfılarımızı kimse standart kütüphaneye almaz. Alsa da diğer dillerde insanları ilgilendirmediği için standart olmaz. Öyleyse Zafer'in dediği gibi trk veya tr ile başlayan sınıflar yapalım. Sayısında sınırlama yapmayalım çünkü dileyen tamamını kullanmaz. Şöyle küçük küçük sınıflarımız olsun ama neticede ciddi büyük bir paketimiz olacak. Örneğin;

Benim aklıma sıralamalarda işe yarayacak tr.sort, Zafer'in bu başlıkta bahsettiği abbr gibi şeyler için tr.algorithm ve hatta işimiz metin olduğu için tr.dizge veya tr.string hoş olacak. Ne dersiniz?

Alıntı (zafer):

>

Alıntı (Salih Dinçer):

>

(Türkçe'de alfabe diye bir şey yoktur çünkü harflerimizi alfa, beta şeklinde ifade etmeyiz; doğrusu: abece)
Bu abece işini hiç anlamadım :nuts:
Şöyle anlatayım:

'A harfini okurken ağzımızdan çıkan a
B harfini okurken ağzımızdan çıkan be
C harfini okurken ağzımızdan çıkan ce'
ise Matrix vari harflerimiz bu satıra düşerse abece olur...:)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 07, 2012

Ben de sizlerle aynı düşünüyorum ya da siz beni yanlış anladınız...:)

Kesin ve net şekilde belirtmeliyim ki Phobos'un Türkçesi'ni yapalım demiyorum. Bu hem gereksiz bir şey hem de iki kütüphane arasında karışıklığa neden olur. Aslolan (asıl olan) D geliştiricilerin üzerinde çalıştığı Phobos'dur ama biz Türkler için bundan ayrı bir şey (eklenti) yapmamızın bir mahsuru olmamalı. Zaten trileri ile bir başlangıç yapılmış.

com. yapısını örnek vermemin sebebi ise std.'den ayrı olması içindi. Sonuçta bizim sınıfılarımızı kimse standart kütüphaneye almaz. Alsa da diğer dillerde insanları ilgilendirmediği için standart olmaz. Öyleyse Zafer'in dediği gibi trk veya tr ile başlayan sınıflar yapalım. Sayısında sınırlama yapmayalım çünkü dileyen tamamını kullanmaz. Şöyle küçük küçük sınıflarımız olsun ama neticede ciddi büyük bir paketimiz olacak. Örneğin;

Benim aklıma sıralamalarda işe yarayacak tr.sort, Zafer'in bu başlıkta bahsettiği abbr gibi şeyler için tr.algorithm ve hatta işimiz metin olduğu için tr.dizge veya tr.string hoş olacak. Ne dersiniz?

asz.string'i de anlamadım? Yani asz neyin kısaltması diyecekken, şimdi ister istemez isimlerimiz mi diye de aklımdan geçirdim ve zannedersem cevabımı ışık hızıyla (düşünce gücüyle) almış oldum...:)

Alıntı (zafer):

>

Alıntı (Salih Dinçer):

>

(Türkçe'de alfabe diye bir şey yoktur çünkü harflerimizi alfa, beta şeklinde ifade etmeyiz; doğrusu: abece)
Bu abece işini hiç anlamadım :nuts:
Şöyle anlatayım:

'A harfini okurken ağzımızdan çıkan a
B harfini okurken ağzımızdan çıkan be
C harfini okurken ağzımızdan çıkan ce'
ise Matrix vari harflerimiz bu satıra düşerse abece olur...:)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 07, 2012

Ayrıca aklımda bir kaç fikir var; bilmiyorum bir kısmı trileri'de var mı?

  • ASCII Turkce cumleleri cevirme -> Türkçe cümlelere çevirme
  • Türkçe öğelerden oluşan harfleri eleme -> Turkce ogelerden olusan harfleri eleme
    '(bu yukarıdaki iki konuda hazır kodlar var, sadece uyarlayacağız)'
  • Türkçe hece yapısına uygun kesme -> Türkçe hece yapı-
    sına uygun kesme '(satır başı yapma: "-\r" ekleme)'
  • Türkçe dosya isimleri ve/veya işletim sistemleri arasındaki farklılıkların olası cins sorunlarını çözme
  • Her hangi bir metin içindeki Türkçe ifadede yer alan yazım hatasını dizilere bölen işlev ve yardımcı araçlar

Örneğin son madde için hatalı olduğu tespit edilen bölüme kadar trDenetle[0] içinde yer alırken, hatalı bölüm trDenetle[1] içinde geri döndürecek. Bu metin sonuna kadar devam eden dinimik bir dizi olacak.

Bunlar aklıma gelenler, bazıları hali hazırda olan şeyler ve/veya arttırılırıp uygun görülürse dahil etmeyeceğimiz fikirler. Bu D diline gönül veren Türkler'in olduğu müddetçe sürekli gelişen bir paket/proje olmalı.

Sevgiler, saygılar...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 06, 2012

Alıntı (Salih Dinçer):

>

Bu durumda Türkçe kütüphanemizi geliştirmeliyiz.

Bunu abbrev'in Türkçe'yi desteklemediğini düşündüğün için söylemiyorsun, değil mi? Çünkü Unicode her abecenin harflerini destekliyor ama abece kavramını desteklemiyor. Zaten trileri onun için var.

Alıntı:

>

com. tüm sınıflar demek ise

"Complete"in kısaltması olarak mı?

Alıntı:

>

hatta Türkçe (!) adlandıralım:

Bu daha önce benim de aklıma gelmişti. Peki o zaman Türkçe kütüphaneyi öğrenen arkadaşlara haksızlık olur mu? Aynı algoritmaların İngilizcelerini tanımaz mı? O yüzden acaba hiç olmazsa Phobos olduğu gibi öğrenilsin.

Ama eğer bütünüyle yeni bir kütüphane olarak düşünüyorsan tamam.

Alıntı:

>

com.abece

Evet, belki de trileri'nin ismi abece olmalıymış. Baştan yalnızca ı ve i harflerinin sorunlarını çözmek için ortaya çıkmıştı ama sonradan abece kavramını destekleyen bir kütüphane oldu.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 07, 2012

Alıntı (Salih Dinçer):

>
  • ASCII Turkce cumleleri cevirme -> Türkçe cümlelere çevirme

Ama o işlemin doğru olarak yapılması olanaksız tabii ki: "dondum"un doğrusu "döndüm" mü, yoksa "dondum" mu?

Alıntı:

>
  • Türkçe öğelerden oluşan harfleri eleme -> Turkce ogelerden olusan harfleri eleme

O kolay ve evet, trileri'de aksansızı() isimli üye işlev olarak var.

Alıntı:

>

bazıları hali hazırda olan şeyler ve/veya arttırılırıp uygun görülürse dahil etmeyeceğimiz fikirler

İyi fikirler. :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]