Forum: Projeler trileri RSS
tr.im modülünü ekledim
acehreli (Moderatör) #1
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: tr.im modülünü ekledim
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
canalpay (Moderatör) #2
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
- 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.
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 :-)
acehreli (Moderatör) #3
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
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...

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. :)

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).

Asıl Ali ile Jim işini halledersek

Çok yakın! :D

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)

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
canalpay (Moderatör) #4
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
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
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
acehreli (Moderatör) #5
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
canalpay:
İ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.

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
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: Projeler trileri 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-22, 12:32:05 (UTC -08:00)