D Programlama - Karakterler

Karakterler, dizelerin yapı taşlarıdır. Bir yazı sisteminin herhangi bir sembolüne karakter denir: alfabe harfleri, sayılar, noktalama işaretleri, boşluk karakteri vb. Kafa karıştırıcı bir şekilde, karakterlerin yapı taşlarına da karakter denir.

Küçük harfin tamsayı değeri a 97'dir ve 1 rakamının tamsayı değeri 49'dur. Bu değerler, ASCII tablosu tasarlandığında yalnızca konvansiyonlar tarafından atanmıştır.

Aşağıdaki tablo, depolama boyutları ve amaçları ile standart karakter türlerinden bahsetmektedir.

Karakterler, yalnızca 256 farklı değer tutabilen char türüyle temsil edilir. Diğer dillerdeki char türüne aşinaysanız, birçok yazı sisteminin sembollerini destekleyecek kadar büyük olmadığını zaten biliyor olabilirsiniz.

Tür Depolama boyutu Amaç
kömür 1 bayt UTF-8 kod birimi
wchar 2 bayt UTF-16 kod birimi
dchar 4 bayt UTF-32 kod birimi ve Unicode kod noktası

Bazı yararlı karakter işlevleri aşağıda listelenmiştir -

  • isLower - Küçük harfli bir karakter olup olmadığını belirler?

  • isUpper - Büyük harf karakteri olup olmadığını belirler?

  • isAlpha - Unicode alfanümerik bir karakter (genellikle bir harf veya bir rakam) olup olmadığını belirler.

  • isWhite - Bir boşluk karakteri olup olmadığını belirler?

  • toLower - Verilen karakterin küçük harfini üretir.

  • toUpper - Verilen karakterin büyük harfini üretir.

import std.stdio;
import std.uni;

void main() { 
   writeln("Is ğ lowercase? ", isLower('ğ')); 
   writeln("Is Ş lowercase? ", isLower('Ş'));  
   
   writeln("Is İ uppercase? ", isUpper('İ')); 
   writeln("Is ç uppercase? ", isUpper('ç')); 
   
   writeln("Is z alphanumeric? ",       isAlpha('z'));  
   writeln("Is new-line whitespace? ",  isWhite('\n')); 
   
   writeln("Is underline whitespace? ", isWhite('_'));  
   
   writeln("The lowercase of Ğ: ", toLower('Ğ')); 
   writeln("The lowercase of İ: ", toLower('İ')); 
   
   writeln("The uppercase of ş: ", toUpper('ş')); 
   writeln("The uppercase of ı: ", toUpper('ı')); 
}

Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -

Is ğ lowercase? true 
Is Ş lowercase? false 
Is İ uppercase? true 
Is ç uppercase? false
Is z alphanumeric? true 
Is new-line whitespace? true 
Is underline whitespace? false 
The lowercase of Ğ: ğ 
The lowercase of İ: i 
The uppercase of ş: Ş 
The uppercase of ı: I

D Karakterleri Okuma

Aşağıda gösterildiği gibi readf kullanarak karakterleri okuyabiliriz .

readf(" %s", &letter);

D programlama unicode'u desteklediğinden, unicode karakterleri okumak için iki kez okumamız ve beklenen sonucu elde etmek için iki kez yazmamız gerekir. Bu, çevrimiçi derleyicide çalışmaz. Örnek aşağıda gösterilmiştir.

import std.stdio;

void main() { 
   char firstCode; 
   char secondCode; 
   
   write("Please enter a letter: "); 
   readf(" %s", &firstCode); 
   readf(" %s", &secondCode); 
   
   writeln("The letter that has been read: ", firstCode, secondCode); 
}

Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -

Please enter a letter: ğ 
The letter that has been read: ğ