Forum: Projeler trileri RSS
tr.string
Sayfa:  önceki  1  2  3  4  5  6  sonraki 
acehreli (Moderatör) #61
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 816
T veya C demek programcıya kalmıştır. Geleneksel olarak T denir ama bence burada bir 'character' türü olduğunun üstüne basmak için C demişler. Aynı mantık...

C'den veya Phobos'tan almanın da hiçbir sakıncası yok. Zaten hataları giderilmiş ve sağlam olarak çalışan kütüphaneler dururken yenisini yazmaya gerek yoktur. Tabii Phobos için "sağlam" diyemeyiz ama olsun... :D

for (;;)
while (true)

sonsuz döngüdürler. Ancak bir break ile çıkılır.

Ali
canalpay (Moderatör) #62
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ı
Yanıtlanan mesaj ID 818
acehreli:
Tabii Phobos için "sağlam" diyemeyiz ama olsun... :D


Olsun zaten bizde onun için yama yapıyoruz ya zaten. Ama D gerçekten kütüphane açısından bir şey yapmalı.

 
for (;;) nasıl doğru bilmişim. Hatta iddaya girerim while(true) göre daha hızlı çalışıyordur. Derleyici istediği kadar akıllı olsun. Ama break ile çıkışı göremedim ondan sordum.

esatarslan52:
- void tolowerInPlace(C)(ref C[] s);


Ben bu fonksiyonu seçeyim dicektim zaten :D

Bende upper olanını alayım. Zate lower alınınca upper da alınmış oluyor ama siz yapana kadar kendimi geliştireyim.
T veya C demek programcıya kalmıştır. Geleneksel olarak T denir ama bence burada bir 'character' türü olduğunun üstüne basmak için C demişler. Aynı mantık...
Evet bunuda tahmin ettim :-) Ama yinede şablondan anlamadığım gerçek.
acehreli (Moderatör) #63
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
canalpay:
Ama break ile çıkışı göremedim ondan sordum

Eksik söylemişim. :) Tabii return fonksiyondan çıkarken döngüyü de geride bırakır. :)

Ali
acehreli (Moderatör) #64
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Arkadaşlar, konuları daha küçük başlıklar altında tartışalım mı... tr.string gibi başlıklar çok genel oluyor. :)

Ali
canalpay (Moderatör) #65
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:
Arkadaşlar, konuları daha küçük başlıklar altında tartışalım mı... tr.string gibi başlıklar çok genel oluyor. :)


Farketmez ben her yerde sorumu sorarım. :-) Zaten buda çok sayfalı olmaya başladı. Ama bu ayrıntılı başlıklarıda çokta abartmamak gerekir.

acehreli:
Eksik söylemişim. :) Tabii return fonksiyondan çıkarken döngüyü de geride bırakır. :)


Ama break gibi oracıkta döngüden çıkıyor mu ? string Koduna baktığımda çıkmıyor gibi gözüktü ama belli ki oracıkta çıkıyor.
Avatar
esatarslan52 (Moderatör) #66
Üye Haz 2009 tarihinden beri · 142 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
canalpay:
Ama break gibi oracıkta döngüden çıkıyor mu ? string Koduna baktığımda çıkmıyor gibi gözüktü ama belli ki oracıkta çıkıyor.

return döngü ile beraber fonksiyondan da çıkar(fonksiyonu sonlandırır).
import std.stdio;
 
void dön()
{
    for (int i = 0; ;i++) {
        //Aksi olduğu sürece döngde kalır
        if (i == 550000000) {
            return;
        }
    }
}
 
int main()
{
    for (int i = 0; ;i++) {
        //Aksi olduğu sürece döngde kalır
        if (i == 9000000)
            break;
    }
    
    writeln("Döngüden çıkıldı");
    writeln("Yeni bir döngüye girdi");
    
    dön();
    
    writeln("Fonksiyondan çıkıldı");
    
    return 0;
}
canalpay (Moderatör) #67
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:
return döngü ile beraber fonksiyondan da çıkar(fonksiyonu sonlandırır).
Evet sağol.
return 0;
Neden bunu kullanıyorsunuz ? Programın çalıştığını belitmek için mi ? Yani fonksiyonun sonuna kadar geldiğini ve çalıştığını belirtmek için mi ? Birde neden 0 döndürüyorsunuz. Sıfır olumsuz değil mi ? 1 döndürülse olmadı 13 döndürülse olur ama neden 0. C'den kalan alışkanlık D'yemi taşmış.

Bu arada Ali Bey kendime 3 tane bat dosyası oluşturdum. Hız testi, deneme, belge. Programı çalıştırdıktan sonra beklemede yaptırıyor. Bat dosyalarını ekleyim mi ?
Avatar
esatarslan52 (Moderatör) #68
Üye Haz 2009 tarihinden beri · 142 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
canalpay:
return 0;
Neden bunu kullanıyorsunuz ? Programın çalıştığını belitmek için mi ? Yani fonksiyonun sonuna kadar geldiğini ve çalıştığını belirtmek için mi ? Birde neden 0 döndürüyorsunuz. Sıfır olumsuz değil mi ? 1 döndürülse olmadı 13 döndürülse olur ama neden 0. C'den kalan alışkanlık D'yemi taşmış.

Programın doğru olarak çalışıp sonlandığını belirtmek için kullanılır. Geleneksel olarak ta 0 döndürülüyor. Ama 1 döndüren bazı programlarda gördüm. vod main() C için legal fakat C++ için legal bir kullanım şekli değil diye biliyorum.Dediğin gibi alışlkanlıktan dolayı kullanıyorum.Sanırım D'de void main() legal.
acehreli (Moderatör) #69
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
bat dosyalarının hangi ihtiyacı karşıladığını anlamadığım için koy diyemiyorum. Şimdiye kadar duyduğum tek şey, make'in istenmediği...

Hangi problemi çözmeye çalışıyoruz? Başka çözümler düşünebilir miyiz?

Bence bunun için ayrı bir konu açalım.

Ali
acehreli (Moderatör) #70
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Başarılı sonlanma 0, hatalı sonlanma başka bir değerdir... Hem fonksiyonlar için, hem programlar için...

C'de ve C++'da main()'in int döndürmesi şarttır.

Bu küçücük konu o kadar fazla insanın o kadar fazla zamanını harcamıştır ki (işte şimdi bile zaman harcadık ;)), D'de 'void main()' de yasaldır ve programın başarısına göre otomatik olarak 0 veya bir hata kodu (acaba 1 mi?) döndürür.

Ali
canalpay (Moderatör) #71
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:
Başarılı sonlanma 0, hatalı sonlanma başka bir değerdir... Hem fonksiyonlar için, hem programlar için...


True 1 demek false 0 demek olduğu için hatalı olduğunda 0 olmasını beklerdim. Ama yıllar önce 0 yapmışlar.  Yetişemedim :-)
acehreli:
C'de ve C++'da main()'in int döndürmesi şarttır.

C'de ikiside yasal değil mi ? Bu sitede bir makalede okumuştum. Ama yasallığı tartışılıyor deniliyordu.

Komut penceresine dmd -unittest -w deneme.d tr/uni.d tr/string.d ve deneme yazmak yerine deneme.bat dosyasına tıklıyorsun. bu Komut penceresinde otomatik yazıyor.
acehreli (Moderatör) #72
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Başarılı olmanın tanımı bir tane olduğu için 0 özel değeri seçilmiş olmalı. Hatalı olma durumuna göre değişik değerler kullanılabilir. Örneğin 1 dosya açılamadığını, 2 dosyaya yazılamadığını, vs. gösterebilir.

Şu andaki C standardında int main olması şart. Tartışılan, C'nin ilk tanımının verildiği Kernighan & Ritchie kitabında "acaba ne demek istendiği"dir.

Bu proje konusunda bir yanlış anlama var. Hiçbirimizin dmd'yi öyle uzun uzun yazması beklenmiyor ve gerekmiyor da zaten. Tek bir komut yazılacağı varsayılıyor: make

Ali
canalpay (Moderatör) #73
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:
Bu proje konusunda bir yanlış anlama var. Hiçbirimizin dmd'yi öyle uzun uzun yazması beklenmiyor ve gerekmiyor da zaten. Tek bir komut yazılacağı varsayılıyor: make

İyi ama make windowsta çalışıyor mu ki ? Bende windows için bat yaptım. sizde linux için make yaptınız.

acehreli:
Başarılı olmanın tanımı bir tane olduğu için 0 özel değeri seçilmiş olmalı. Hatalı olma durumuna göre değişik değerler kullanılabilir. Örneğin 1 dosya açılamadığını, 2 dosyaya yazılamadığını, vs. gösterebilir.

Bir sürü şey yapılabilir. 1 başarılı kabul edilir. Diğerleri hatalı kabul edilir. Hatalıysa başına 0 konur sonra 2 gelir dosya hatalı denir. Bir sürü şey denir. Onca kişi öyle düşünmüş ve karar vermiş bana bir şey demek düşmez. Ama önceden true 1 olduğu için neden 1 doğru diye kabul edilmedi diye düşünmüştüm.

Zaten Andrei 'nin mi ne ubuntusunda kendi döndürmediği zaman 13 döndürüyormuş. E o zaman 0 kesin doğru diye kesinleşmemiş gibi geldi. Andrei return 'ün yeterli olmadığını dilin kendi olanağında var olması gerektiğini söylemiş. Bence çok iyi demiş.
canalpay (Moderatör) #74
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ı
s[say++] = cast(C) (c - (cast(C)'a' - 'A'));


Bu kodda "tr\string.d(203): Error: s[say++] isn't mutable "hatası veriyor. Kodlar phobos kütüphanesinden alınma.
acehreli (Moderatör) #75
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #73
canalpay:
Andrei 'nin mi ne ubuntusunda kendi döndürmediği zaman 13 döndürüyormuş. E o zaman 0 kesin doğru diye kesinleşmemiş gibi geldi.

13 değeri tamamen rastgele bir değer. Andrei tesadüfen uğursuz rakama denk geldiği için şaka yapıyor. Fonksiyonlarımızdan başarı için istediğimiz değeri döndürebiliriz ama o değer 0'dan farklıysa garip olur.

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:
Sayfa:  önceki  1  2  3  4  5  6  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-03-23, 05:24:35 (UTC -07:00)