Forum: Projeler trileri RSS
uni.d'nin gerçeklenmesi için yardım
Sayfa:  1  2  3  sonraki 
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ı: uni.d'nin gerçeklenmesi için yardım
tr/uni.d içindeki toUniLower_tr fonksiyonunu gerçekleştirmek isteyen var mı?

Ben deneme amacıyla öylesine bir fonksiyon oluşturmuştum. Doğal olarak birim test bölümünün düzeltilmesi ve fonksiyonun içinin gerçeklenmesi gerekiyor.

Ali
Avatar
esatarslan52 (Moderatör) #2
Üye Haz 2009 tarihinden beri · 142 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ben 1 gün bekledim kimse aday olmadı benden günah gitti  :-D . Ben adayım Ali hocam :).
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ı
Harika! :) uni.d'nin birim testlerinin ve fonksiyonlarını teker teker yazabilirsin lütfen. Kodları da 'review request' beklemeden projeye ekliyormuşsun.

İleride projeye bir 'changes branch' eklemek gerekecek galiba ama şimdilik sen ekliyorsun, biz sonra kod incelemesi [review request] yapıyoruz.

Haydi! :)

Ali
Avatar
esatarslan52 (Moderatör) #4
Üye Haz 2009 tarihinden beri · 142 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ali hocam fonksiyonlar tek bir karakter üzerinde işlem yapacak şekilde mi yazılacak yoksa string üzerinde mi? uni.d nin içindeki toUniLower_tr yi tek karaktere göre tanımlamışsınız.
canalpay (Moderatör) #5
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ı
esatarslan52:
Ali hocam fonksiyonlar tek bir karakter üzerinde işlem yapacak şekilde mi yazılacak yoksa string üzerinde mi? uni.d nin içindeki toUniLower_tr yi tek karaktere göre tanımlamışsınız.
Sorunuzu yanlış mı anladım bilmiyorum ama:
Benim bildiğim toUniLower tek karakter'e işlem yapıyor. Stringdeki tolower ise karakter dizisine(stringe) işlem yapıyor.
Avatar
esatarslan52 (Moderatör) #6
Üye Haz 2009 tarihinden beri · 142 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
canalpay:
esatarslan52:
Ali hocam fonksiyonlar tek bir karakter üzerinde işlem yapacak şekilde mi yazılacak yoksa string üzerinde mi? uni.d nin içindeki toUniLower_tr yi tek karaktere göre tanımlamışsınız.
Sorunuzu yanlış mı anladım bilmiyorum ama:
Benim bildiğim toUniLower tek karakter'e işlem yapıyor. Stringdeki tolower ise karakter dizisine(stringe) işlem yapıyor.

Doğru anlamışsın. toUniLower ve tolower ile hakkında söylediklerinde de haklısın. Ben toUniLower_tr ile string dönüşümü de yapılacak diye düşünmüştüm. Ozaman tolower_tr diye ayrı bir fonksiyon daha yazacağız oda string.d içinde yer alacak sanırım. Şimdi herşey daha da netleşti :).
acehreli (Moderatör) #7
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ı
Aynen öyle...

canalpay, haydi sen de string.d'ye bir el at lütfen. :) Daha önce yazdığın ve benim "daha hızlı" olabilir diye gereksizce eleştirdiğim fonksiyonun aslında gayet güzel.

Sen şimdi string.d'yi o fonksiyonla başlat, gerekirse sonraki sürümlerde hızlandırırız. Böylece birim testlerin gücünü de görmüş olacağız: birim testler bizi koruduğu için, fonksiyonun içinde yapacağımız değişikliklerin doğru çalıştıklarına güvenebileceğiz.

Senin fonksiyonunun neden kabul edilebilir olduğunu söyleyeyim:

- işini doğru olarak yapıyor

- benim daha hızlısı var dediğim yöntemden algoritmik olarak daha yavaş değil: senin yöntem diziyi 3 kere yürüyor, benim yöntem 1 kere... İki algoritmanın karmaşıklığı da O(N)'dir.

Gerçekten, haydi o fonksiyonu eklemekle başla; ve diğerlerini de gerçekleştir! :)

Ali
canalpay (Moderatör) #8
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ı
Tamam şuan aslında nasıl başka yöntemlerle yaparım diye denemeler yapıyordum. Sanki kolay ama çok hızlı bir yöntem bulmuş gibiydim ama şu yok string olmaz yok bilmem ne gibi şeylerden bıktım.(Türler ile uğraşmayanlar için zor oluyor.)

İlk önce diziyi üç kere yürüteni yapacağım sonra iki sonra bir. :-D En iyisi yavaş yavaş ilerlemek değil mi .
acehreli (Moderatör) #9
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ı
Kesinlikle! :)

Örneğin ben olsam modüllere fonksiyonları teker teker eklerdim.

Ali
canalpay (Moderatör) #10
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ı
Şimdi yolladım ama yanlış yollamışım. Yolladıklarımı code.google üzerinden silebilir miyim ? Ben bulamadım silinmiyor galiba. İlla svn ile mi sileceğim ?

Birde şimdi tekrar yollamak istiyorum ama hata veriyor. Sanırım biri denemelik.d dosyası üzerinde oynuyor.

Şuan sorunu hallettim. İsterseniz bir deneyin.

Birde makedeki bu koda
testler: ${KAYNAKLAR}
        ${DMD} ${KAYNAKLAR} -unittest ${DMD_SECENEKLERI}
        ./deneme
./denemelik kod parçasını ekleyeyim mi ? Yoksa denemeye denemelik dosyasındaki testleri ekleyeyim mi ?

Son olarak yeni fonksiyonların ismi tolowerT mi olacak, yoksa tolower_tr mi olacak. (Ben bir kütüphanenin içindeki fonksiyonda ortalarında _ geçmesine karşıyım. Sanki çok amatör gibi duruyor :-) )
acehreli (Moderatör) #11
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ı
_ karakteri kütüphanelerde çok yaygındır ama. (?) Hatta _ karakterinin bazı kullanımları bazı dillerde programcılara kapatılmıştır bile. (Bir örnek: C'de ve C++'da programcıların baş harfi _ ile başlayan global isim kullanmaları yasal değildir.)

C ve C++ standart kütüphaneleri _ karakterini kullanır. Boost kullanır. Phobos kullanıyor. vs.

Sana neden amatörce geliyor acaba? (?)

Seçeneklere bakalım:

T: klasik olarak şablonlarla kullanılan bir harf olduğu için uygun değil; ayrıca Türkçe'nin kısaltması TR olduğu için kısaltması olur :)

tr: büyük harfi olmadığı için öncekine karışır: tolowertr

Tr: biri büyük biri küçük olduğu için bana uygun gelmiyor, çünkü TR bir kısaltmadır; ben Tr diye kullanıldığını görmüyorum

TR: olabilir: tolowerTR

tolower_tr: olabilir

Ali
canalpay (Moderatör) #12
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ı
Belki php'den kaynaklanıyor olabilir. Belki başka bir şeyden ama _ kullanımı bana kütüphanede saçma geliyor. Belkide kütüphanede iki kelimenin _ ile birleştirilmesi bana akılda kalması zor gibi gözüktüğü için(_ olduğu zaman fonksiyonun adı uzuyor ve kısaltmalardaa eklenince ad akılda kalıcı olmuyor.

Şimdi örneklere bakalım:

tolowerT
tolowerTr
tolowerTR
tolower_tr

T bana iyi gibi geliyor. Ama siz olmaz diyorsunuz. (Bu arada int a gibi T a diye değişken tanımlanıyor. Bu ne için tanımlanıyor ki ? )

TR yerine Tr daha iyi gibi. Çünkü biliyorsunuz büyük harfler göze çok batar ve hoş gözükmez. Tabi cümle başındaki harf küçüksede güze görünmez bu yüzden bu olabilir.

_tr de olabilir. Hatta çok kötü gözükmez ama bana  hala _ gereksiz geliyor. Sadece harfler olmalı bir şey tanımlarken. Yoksa derleyici bir boşluğa için versin tolower tr yapalım değil mi ?

Ve anket yapalım yada _tr veya Tr arasında seçim yapın. Tr deve mi hörgüç mü ne o yazım şeklinede uyuyor.
acehreli (Moderatör) #13
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ı
Yanıtlanan mesaj #11
Biraz karmaşık konuştum galiba. Yapılması gereken şey, uni.d ve string.d dosyalarının içini doldurmak... :) Bu aşamada projenin yapısını değiştirmeye ihtiyacımız yok.

Amaç; 'make' yazınca bütün projenin oluşturulması, ve bildiğim kadarıyla da zaten öyle çalışıyor.

Ali
canalpay (Moderatör) #14
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ı
acehreli:
Biraz karmaşık konuştum galiba. Yapılması gereken şey, uni.d ve string.d dosyalarının içini doldurmak... :) Bu aşamada projenin yapısını değiştirmeye ihtiyacımız yok.

Ben öyle yapmamışmıyım ? Ayrıca belki deneme ile denemelik ayrı tutarsak isteyen uni'yi isteyen string'i dener diye düşünmüştüm. Ayrı olarak bakarsak ne kimin hatası gözükür.

Şuan windowstayım make komutunu verince 21.satırda hata verdi.
emre413 (Moderatör) #15
Kullanıcı başlığı: Celal Emre ÇİÇEK
Üye Tem 2009 tarihinden beri · 62 mesaj · Konum: Kırıkkale
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #13
Bakıyorum da çalışmalar başlamış, Hayırlı Olsun. Kodları inceledim, Can sen svn'yi öğren demiştin ama ben fazla ısınamadım o programa acaba svn olmadan bir şeyler yapamaz mıyız? Bir de şimdi dosyaları indirdim klasöre gidip make dedim bir kaç hata verdi:

dmd deneme.d tr/string.d tr/uni.d   belge.ddoc -D -Ddhtml
dmd deneme.d tr/string.d tr/uni.d   -unittest -odobj -safe -w
/home/emre413/dmd2/linux/bin/../../src/druntime/import/core/exception.di(8): Error: variable core.exception.assertHandler __gshared not allowed in safe mode; use shared
/home/emre413/dmd2/linux/bin/../../src/druntime/import/core/stdc/signal.d(25): Error: cast from int to voidC  function(int) not allowed in safe mode
/home/emre413/dmd2/linux/bin/../../src/druntime/import/core/stdc/signal.d(26): Error: cast from int to voidC  function(int) not allowed in safe mode
/home/emre413/dmd2/linux/bin/../../src/druntime/import/core/stdc/signal.d(27): Error: cast from int to voidC  function(int) not allowed in safe mode
make: *** [testler] Hata 1

safe mode ne ola?? Ali hocam yetişin :D
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:
Sayfa:  1  2  3  sonraki 
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:30:56 (UTC -08:00)