Teşekkürler! :) Sanırım şimdi anlamaya başladım.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
December 13, 2016 Büyük küçük harf dönüşümü | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli (acehreli) | Teşekkürler! :) Sanırım şimdi anlamaya başladım. -- | |||
December 12, 2016 Büyük küçük harf dönüşümü | ||||
|---|---|---|---|---|
| ||||
Posted in reply to zafer | Erdem, bu gibi ifadelerin tembel olduklarını biliyorsun: Ne işlem yapılacağını biliyorlar ama henüz hiçbir işlem yapmıyorlar. Yani, oradaki küçükHarf işlevleri tembel ifade döndürüyorlar. O ifadeleri değermişler gibi kullanamayız, ama aralıkmışlar gibi ilerletebiliriz. Aralık gibi ilerletmeyi empty, front, ve popFront ile kendimiz yapabileceğimiz gibi, onları arka planda çağıran algoritmalar kullanabiliriz. Örneğin, küçükHarf'in döndürdüğü ifadeyi doğrudan writeln'a verebiliriz. writeln da elemanları teker teker çekerken tembel işlemlerin sonuçlarını görmeye başlar. Dolayısıyla, ".html" gibi başka bir ifadeyle birlikte kullanabilmek için önce sonucu oluşturmak gerekiyor. Bunun bir yolu, tembel ifadenin sonuna .text algoritmasını eklemektir. std.conv.text, to!string'in biraz daha kullanışlısı: bütün parametrelerini string'e dönüştürür.
Ama hazır .text'i kullanmaya başlamışken, ~ işlevine de bulaşmamış oluruz. (DConf konuşmacılarından birisi ~ karakterinin yavaş anlamına geldiğini söylemişti. :) )
Bazı durumlarda biraz daha geliştirebiliriz: text'in oluşturduğu sonuç kısa olduğu sürece bir sorun yoktur. Ama sonuç çok uzun olduğunda çok bellek gerekecektir. Eğer sonuç örneğin yalnızca çıktıya yazdırılacaksa, yani karakterler geçici olarak kullanılacaklarsa, sonucu büyük bir bellek bölgesine dizi olarak yerleştirmeye gerek olmamalıdır. Böyle bir durumda birden fazla aralığı tek aralık gibi kullanmayı sağlayan chain'den yararlanabiliriz:
Ama yine başa döndük: Elimizde dizi değil, sonucu oluşturacak bir tembel ifade var. Gerekirse .array ile diziye dönüştürürüz, gerekmezse tembel ifadeden kullanırız. Örneğin, çıktıya göndeririz:
Tekrar etmek gerekirse, bu son sonucun değeri, sonuç için bellek ayırmaması, karakterleri tembel olarak oluşturmasıdır. Tabii, bu söylediklerimin bu kadar küçük dizgilerde hiç önemi yok. Bilinse iyi olur. :) -- | |||
December 15, 2016 Büyük küçük harf dönüşümü | ||||
|---|---|---|---|---|
| ||||
Posted in reply to erdem | Peki 'ilkHarfBüyük' işlevini nasıl yapabilirdik? Ben şöyle bir çözüm düşündüm ama cihanşümül değişkenlerden faydalanıyor.
'ilkkez' değişkenini kullanmadan sadece ilk sefere mahsus başka bir işlevi çağırmanın başka yolu var mı acaba? -- | |||
December 15, 2016 Büyük küçük harf dönüşümü | ||||
|---|---|---|---|---|
| ||||
Posted in reply to erdem | Evrensel değişken kesinlikle olmaz tabii. :) Yeni dizgiye başladığımızdan haberi olamaz. Ben şöyle bir şeyle mutlu olurdum:
Ali -- | |||