Forum: Projeler trileri RSS
uni.d'nin gerçeklenmesi için yardım
Page:  1  2  3  next 
acehreli (Moderator) #1
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Subject: 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 (Moderator) #2
Member since Jun 2009 · 142 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Ben 1 gün bekledim kimse aday olmadı benden günah gitti  :-D . Ben adayım Ali hocam :).
acehreli (Moderator) #3
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #4
Member since Jun 2009 · 142 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #5
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Quote by 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 (Moderator) #6
Member since Jun 2009 · 142 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Quote by canalpay:
Quote by 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 (Moderator) #7
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #8
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #9
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Kesinlikle! :)

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

Ali
canalpay (Moderator) #10
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Ş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 (Moderator) #11
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
_ 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 (Moderator) #12
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #13
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
In reply to post #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 (Moderator) #14
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Quote by 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 (Moderator) #15
User title: Celal Emre ÇİÇEK
Member since Jul 2009 · 50 posts · Location: Kırıkkale
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
In reply to post #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
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please note the verification code from the picture into the text field next to it.
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Page:  1  2  3  next 
Forum: Projeler trileri RSS
Not logged in. · Lost password · Register
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Current time: 2012-05-18, 10:06:56 (UTC -07:00)