Jump to page: 1 2
Thread overview
Büyük küçük harf dönüşümü
Dec 11, 2016
erdem
Dec 11, 2016
zafer
Dec 12, 2016
erdem
Dec 12, 2016
erdem
Dec 12, 2016
zafer
Dec 13, 2016
erdem
Dec 14, 2016
erdem
Dec 12, 2016
erdem
December 11, 2016

Bu konu sıklıkla karşımıza çıktığı ve D'nin yamalı bohça gibi olan taraflarından bir tanesi olduğu için ayrı bir konu başlığı olarak açıyorum.

Bu konuyu 7 sene önce de (http://ddili.org/forum/thread/41)konuşmuşuz. Hala düzelmemiş mi :huh:

Acaba dstring için yaptığımız büyük küçük harf dönüşümü string türü için nasıl yapabiliriz?

import std.stdio;
import std.uni;


void main()
{
   dstring metin = "Arduino başlangıç";
   writeln(büyükHarf(metin));
}

dstring küçükHarf (dstring metin)
{
   dstring dönen;

   foreach (i, dchar harf; metin)
   {
       harf = metin[i];
       dönen ~= küçükHarf(harf);
   }
   return dönen;
}

dchar küçükHarf(in dchar karakter)
{
   return (karakter == 'I') ? 'ı' : toLower(karakter);
}

dstring büyükHarf (dstring metin)
{
   dstring dönen;

   foreach (i, dchar harf; metin)
   {
       harf = metin[i];
       dönen ~= büyükHarf(harf);
   }
   return dönen;
}

dchar büyükHarf(in dchar karakter)
{
   return (karakter == 'i') ? 'İ' : toUpper(karakter);
}

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

December 12, 2016

Vay be 7 sene önce. Zaman ne kadar hızlı geçmiş. Maden eski defterleri karıştırıyorsunuz. trileri isimli bir proje vardı. Türkçe i harfi ile arama ve sıralama işlemleri içindi diye hatırlıyorum. Onu dub deposuna (https://code.dlang.org (https://code.dlang.org)) ekleme imkanımız olur mu? Sanırım ona ihtiyacım olacak :-D

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

December 12, 2016

Ali bey teşekkürler.

Zafer ben geçenlerde bu konuyla ilgili iletilere bakarken rastgelmiştim.

https://bitbucket.org/acehreli/alphabet

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

December 12, 2016

Şablon yapınca ve dizgiyi aralık olarak kullanınca her tür dizgiyle işleyebiliyor:

import std.stdio;
import std.uni;
import std.traits: isSomeString;
import std.algorithm: map;

void main()
{
   string metin = "Arduino başlangıç";
   writeln(büyükHarf(metin));
   writeln(küçükHarf(metin));
}

auto küçükHarf (S)(S metin) if (isSomeString!S)
{
   return metin[].map!(h => küçükHarf(h));
}

dchar küçükHarf(in dchar karakter)
{
   return (karakter == 'I') ? 'ı' : toLower(karakter);
}

auto büyükHarf (S)(S metin) if (isSomeString!S)
{
   return metin[].map!(h => büyükHarf(h));
}

dchar büyükHarf(in dchar karakter)
{
   return (karakter == 'i') ? 'İ' : toUpper(karakter);
}

Ali

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

December 12, 2016

Ali bey çok teşekkürler! :)

Bu arada siz sadece D mi kodluyorsunuz merak ettim. Demek istediğim çalıştığınız yerde projelerde de mi D kullanıyorsunuz.

D kullanan firma sayısı artmaya başladı mı?

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

December 12, 2016

Erdem, o proje fazla deneysel ve artık derlenebildiğinden bile emin değilim. Ondan çok daha az kapsamlı bir sıralama ve küçük/büyük harfe dönüştürme modülünü ddili.org projesinde kullanıyorum:

https://bitbucket.org/acehreli/ddili/src/45c2eccfa97d7e2245e9f5b165aae1ea905a3cf2/src/alphabet.d?at=master&fileviewer=file-view-default

Gördüğüm kadarıyla ddili.org projesinden bağımsız bir modül değil çünkü içinde indexSectionOrder gibi kitapla ilgili işlevler de var. Aslında indexSectionOrder başka yerlerde de kullanışlı olabilir çünkü örneğin "UTF-8" gibi bir dizginin "UTF-32" gibi bir dizgiden daha önce sıralanması gerektiğini biliyor. (Yoksa, '3' karakteri '8' karakterinden önce olduğundan normalde "UTF-32" öne gelirdi.) Ayrıca, kitap dizini doğru olsun diye örneğin "-inline" dizgisi ile "inline" dizgisini aynı yere koyuyor. (Yoksa, '-' karakteri nedeniyle bambaşka bir yere düşerdi.)

Umarım kullanışlı olur.

Ali

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

December 12, 2016

Pek de kullanışsızmış ama olsun... Örneğin, dizgi alan toUpper bile yok. :)

import alphabet;
import std.algorithm: map, equal;

unittest {
   auto alfabe = makeAlphabet("turkish");

   assert(alfabe.is_less("şiir", "zehir")); // normalde ş z'den sonradır
   assert("aâbcçdefgğhıîijklmnoöpqrsştuûüvwxyz".map!(h => alfabe.toUpper(h)).equal
          ("AÂBCÇDEFGĞHIÎİJKLMNOÖPQRSŞTUÛÜVWXYZ"));

   assert(alfabe.is_less("kâğıt", "kedi"));
   assert(alfabe.is_less("UTF-8", "UTF-32"));
}

void main() {
}

Ali

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

December 12, 2016

Alıntı (acehreli):

>

Şablon yapınca ve dizgiyi aralık olarak kullanınca her tür dizgiyle işleyebiliyor:

> auto küçükHarf (S)(S metin) if (isSomeString!S)
> {
>     return metin[].map!(h => küçükHarf(h));
> }
>
> dchar küçükHarf(in dchar karakter)
> {
>     return (karakter == 'I') ? 'ı' : toLower(karakter);
> }
> ```

>

Peki Ali bey bu değeri kullanmak istersek.

   auto kütükİsmi = küçükHarf(sayfaBaşlığı);
   string dosyaAdı =  kütükİsmi ~ ".html";

Burada  'Error: incompatible types for ((kütükİsmi) ~ (".html")): 'MapResult!(__lambda2, string)' and  'string''

şeklinde bir hata alıyorum.

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

İnanılır gibi değil ama Haziran'dan beri çalıştığım Weka.IO'da yalnızca D kodluyorum. Gerçek hayatta kullanmak çok daha eğitici oluyor. ;) D kullananların sayısı yavaş yavaş artıyor:

http://dlang.org/orgs-using-d.html
http://dlang.org/areas-of-d-usage.html

Ali

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

December 12, 2016

Sanırım benimde işimi görür, Teşekkürler.

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

« First   ‹ Prev
1 2