Thread overview
tr.im modülünü ekledim
February 22, 2010

Alıntı:

>
  • Eğer İm[] dizileri karşılaştırılıyorsa, yani elimizde bir "yazı" (veya "metin") yoksa, sıralama "ham, hâl" şeklinde olmalıdır. Çünkü bu bağlamda, bilgisayarın iç dünyasındayız ve elimizde bir dizi İm var. Onlara henüz "yazı" dememişiz.

Mantıklı. Ama net bir şey söyleyemeyiz. Örneğin char[]'da yazı değil ama biz bazen yazı amaçlı kullanabiliriz. Bu belli olmuyor. Biz belirli bir biçimde gidelim zaten insanlar trilerin doğurduğu sonucu beğenmezlerse bu sonucu kendileri değiştirirler.
Alıntı:

>

Bir soru: İm'leri bir araya getiren böyle bir türün ismi ne olsun? Yazı iyi mi? Dizgi de olabilir ama onun sözü başka yerlerde de çok geçiyor. Üstelik Dizi ifadesinde "alfabeye bağlılık" bilgisi yoktur.

Yazı iyi, eğer uzun ve farklı bir şey demek istersek imlerin bir araya geldiğini belirten im topluluğu adını verebiliriz. char topluluğu, dchar topluluğu, sayı topluluğu. Topluluk adını ek gibi kullanırız. Bu önerdiğimide, Yazı sözcüğünüde beğendim.

Asıl Ali ile Jim işini halledersek birde a â sıralaması üzerinde çok düşünmeden ç ş ğ ü gibi sıralamarı halledersek çok iyi olur.

Zaten günümüzde kimse â'yı kullanmıyor. Ben bile :-) Yoksa hal arapça olması lazım yani halledersek değil hâlledersek olacak :-)

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

February 22, 2010

Alıntı:

>

Yeni farkettiğim şey, İngilizce bir yazıda geçen ASCII 'a' karakterinin Almanca bir yazıda geçenle aynı olmaması gerektiği. "Kodlama" açısından aynı... Ama harf olarak aynı olmamalı. Çünkü alfabesini bilmeden ne başka ASCII karakterlerle karşılaştırabiliriz, ne de küçük/büyük harfe dönüştürebiliriz.

Neden ? Ben açıkcası Türkçe A ile Almancadaki A ile ve İngilizcedeki A 'nın arasında fark göremiyorum. Ama şunu diyebilirsiniz. Her dilin alfabesini destekleyen bir karakter seti olmalı. Evet olmalı ama bu da yazıların çok fazla yer harcamasına neden olur ve bilgisayarın yavaş çalışmasına neden olur.

En iyisi büyük bir komisyon kurulması ve bu sorunun halledilmesi. Türkçede örneğin i sıkıntısı varsa Türkçe i için ayrıca bir yer ver ama Türkçedeki a için sorun yoksa ayrıca a için yer verme. En iyilemeyide böyle halledilebiliriz bence...

Sanırım bizi şuan sıkan sadece a â. Ben boşuna Arapçadan bu kadar etkilenmeyelim, onun yerine ayrıca Arapça öğrenmek hem daha doğru hem daha güzel, gelin öztürkçe sözcükler kullanalım, ben asla arapça sözcükleri Türkçe kabul etmem deyişimin nedenlerini görüyorsunuzdur :-D
Alıntı:

>

Onların hepsi dün eklediklerimle İm düzeyinde halledildiler.

Halledilmiş ama daha trileri sanırım bundan etkilenmemiş. Yani trileri.string daha tam olarak düzeltilmemiş.

Ayrıca ben iyiki icmp_tr'yi cmp_tr ile halletmişim. Yoksa yazdığım kodlar boşuna gidecekti. Aferin bana :-D

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

February 22, 2010

Belirli bir alfabeye bağlı olan im kavramını temsil ediyor.

"karakter" yerine "im" dememizin nedeni, karakterlerin aksine, bu yapının elemanlarının küçük-büyük dönüşümlerinin ve sıra karşılaştırmalarının alfabe kurallarına göre yapılabilmesi.

'İm.sıra' işlevi, birincil ve ikincil sıralama bilgisini veriyor. Böylece örneğin 'a' 'â'dan önce olduğu halde, "hâl" sözcüğü "ham"dan önce sıralanabiliyor.

Bu olanaktan bir sonra gelecek olan 'Yazı' yapısında yararlanacağız. İkincil sıralama bilgisi ancak elde birden fazla İm varsa kullanılabilir.

Şöyle bir karar nasıl olur:

  • Eğer İm[] dizileri karşılaştırılıyorsa, yani elimizde bir "yazı" (veya "metin") yoksa, sıralama "ham, hâl" şeklinde olmalıdır. Çünkü bu bağlamda, bilgisayarın iç dünyasındayız ve elimizde bir dizi İm var. Onlara henüz "yazı" dememişiz.

  • Eğer o imlerden oluşan bir 'Yazı' varsa, artık daha üst düzey bir kavramdan söz ediyoruz demektir. İşte o zaman sıralamanın "hâl, ham" şeklinde olması doğru olur.

Nasıl? Mantıklı mı?

Bir soru: İm'leri bir araya getiren böyle bir türün ismi ne olsun? 'Yazı' iyi mi? 'Dizgi' de olabilir ama onun sözü başka yerlerde de çok geçiyor. Üstelik Dizi ifadesinde "alfabeye bağlılık" bilgisi yoktur.

'Metin' de olabilir ama o isimde bir isim var. ;) Kodun içinde kocaman kocaman 'Metin''ler görmek nasıl olur bilemiyorum. :)

İsmi ne olursa olsun, bu tür değişik alfabe imlerinden oluşabilecek. Yani bu tür, "Ali & Jim" dizgisini doğru olarak "ALİ & JIM" diye büyük harflere çevirebilecek.

Hatta Can'ın bir ara önerdiği gibi, bazı dönüşümlerinde bu tür, string içinde dil kodlarını da içerebilir. (Şimdi standart kod bilmiyorum ama Can şunun gibi bir şey önermişti: "--tr--Ali & --en--Jim")

Hızlıca aklıma gelen adaylar:

  • Dizgi (ama dilde başka yerlerde de geçiyor)
  • Yazı (ben sevdim)
  • Metin (ama özel isim)
  • Tekst (TDK'da geçiyor ama Fransızca'dan)
  • ?

Ali

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

February 22, 2010

Alıntı (canalpay):

>

Örneğin char[]'da yazı değil ama biz bazen yazı amaçlı kullanabiliriz.

Kabul. Ama ben artık bunun tesadüfi bir kullanım olduğunu düşünmeye başladım. ASCII başından İngilizce'yi destekliyor gibi olduğu için çalışıyor (gibi oluyor).

Yeni farkettiğim şey, İngilizce bir yazıda geçen ASCII 'a' karakterinin Almanca bir yazıda geçenle aynı olmaması gerektiği. "Kodlama" açısından aynı... Ama harf olarak aynı olmamalı. Çünkü alfabesini bilmeden ne başka ASCII karakterlerle karşılaştırabiliriz, ne de küçük/büyük harfe dönüştürebiliriz.

Yani ASCII bu amaca uygun olmadığı gibi, D'nin Unicode kodlamaları da uygun değil.

Sonuçta, eğer İm dizisini yazı amaçlı kullanırlarsa, programcılar yetersizliklerini de kabul etmek zorundalar.

Çünkü örneğin 'â' harfini kullanmadığımızı düşünüyoruz. Kabul. Ama içinde herhangi bir aksanlı 'a' geçen bir satırla karşılaştırdığımızda, onun yine de 'a'lardan sonra sıralanmasını isteriz (ben öyle isterim):

Áhmet
Ali

Eğer İm'ler yalnızca bir İm dizisi iseler, onların doğru sıralanmaları için Á'dan ve A'dan sonraki harfe de bakılması gerektiğini bilemezler.

Yani, kabul... İm dizisi "ham" olarak sıralanırlar; Yazı ise o dilin kurallarına göre...

Alıntı:

>

zaten insanlar trilerin doğurduğu sonucu beğenmezlerse bu sonucu kendileri değiştirirler.

Çok doğru. Dünyanın bütün sorunlarını çözmek gerekmiyor. :)

Alıntı:

>

char topluluğu, dchar topluluğu, sayı topluluğu. Topluluk adını ek gibi kullanırız. Bu önerdiğimide, Yazı sözcüğünüde beğendim.

Güzel... Aklıma dchar_tr de yatmaya başladı. Onu bir alias ile de kolayca halledebilir(iz|ler).

Alıntı:

>

Asıl Ali ile Jim işini halledersek

Çok yakın! :D

Alıntı:

>

birde a â sıralaması üzerinde çok düşünmeden ç ş ğ ü gibi sıralamarı halledersek çok iyi olur.

Onların hepsi dün eklediklerimle İm düzeyinde halledildiler. Şimdi Yazı gelince Ali ile Jim de hallolacak. (Jim kim acaba? :p)

Alıntı:

>

Zaten günümüzde kimse â'yı kullanmıyor. Ben bile :-) Yoksa hal arapça olması lazım yani halledersek değil hâlledersek olacak :-)

Biz kullanmasak da amaç, aksanlılarını temel harften sonra sıralamak.

Ali

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

February 22, 2010

Alıntı (canalpay):

>

Alıntı:

>

İngilizce bir yazıda geçen ASCII 'a' karakterinin Almanca bir yazıda geçenle aynı olmaması gerektiği.

Neden ? Ben açıkcası Türkçe A ile Almancadaki A ile ve İngilizcedeki A 'nın arasında fark göremiyorum. Ama şunu diyebilirsiniz.

Benzerlikler veya denklikler tesadüfe dayanıyor:

  • ifade ettikleri sesler farklı: örneğin Türkçe c ile İngilizce c'nin bu konuda hiçbir ilgisi yok

  • sıralanmaları kendi alfabelerine dayalı: örneğin X, Azeri alfabesinde H ile I arasında duruyor, İngilizce'de W ile Y arasında

  • küçük/büyük dönüşümleri kendi alfabelerine dayalı: örneğin I'nın küçüğü Türk alfabesinde ı, Türkmen alfabesinde i

Benzeyen tek şey, şekilleri. O da tarihsel nedenlerle birbirlerinden etkilenmiş oldukları için.

Bunlara dayanarak: Harflerin eşitliğini veya sıra ilişkilerini ancak kodlama düzeyinde karşılaştırabiliriz. Harf düzeyinde karşılaştırmak için bir alfabeye bağlı olmaları gerekir o zaman da farklı türdendirler.

Alıntı:

>

Sanırım bizi şuan sıkan sadece a â

Sorun bizim sevip veya sevmediğimiz harfimiz değil. Ayrıca öyle bir sorunumuz yok; çünkü tr.alfabe modülü bütün temel harflerin aksanlılarını da tanıyor.

Soru şu: Bir davetliler listesini sıralamak istiyoruz. Şu üç kişiyi nasıl sıralamak isteriz?

Güven Kıraç
Gesin Uyduruklu
Gérard Depardieu

é'yi e'nin aksanlısı kabul etmezsek ve Unicode kodunu kullanırsak çok yanlış olur:

Gesin Uyduruklu
Güven Kıraç
Gérard Depardieu <-- çok yanlış bir yerde

é'yi e'nin aksanlısı kabul ettiğimiz için onun arkasında sıralamayı düşünebiliriz:

Gesin Uyduruklu
Gérard Depardieu <-- yanlış bir yerde
Güven Kıraç

Çünkü e ve é bu listede, Türkçe kullanan bir insanın gözünde (örneğin ben! :)) aynıdır. Her ne kadar aksanlısını temel harften sonra yazmak istesek de, yine de böyle bir listede aynıdırlar. O yüzden üçüncü harfe de bakılması gerekir ve r s'den önce olduğu için doğru sıralama şudur:

Gérard Depardieu <-- doğru yerde
Gesin Uyduruklu
Güven Kıraç

İşte bir İm dizisi bu "sonraki harfe bakma" veya "kesme işaretini gözardı etme" işlemlerini bilemez. O, ham bir dizidir.

Ama eğer Yazı olursa, o zaman doğru sıralanır.

Yani sorun a ile â'da değil, Türkçe kullanan insanların beklentilerine göre doğru sıralamakta.

Ali

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