D-programming-characters

提供:Dev Guides
移動先:案内検索

Dプログラミング-キャラクター

文字は文字列の構成要素です。 書記体系の記号は文字と呼ばれます。アルファベットの文字、数字、句読点、スペース文字などです。 紛らわしいことに、キャラクター自体の構成要素もキャラクターと呼ばれます。

小文字の a の整数値は97で、数値1の整数値は49です。 これらの値は、ASCIIテーブルが設計されたときの規則によってのみ割り当てられています。

次の表は、標準の文字タイプとそのストレージサイズと目的を示しています。

文字はchar型で表され、256個の異なる値のみを保持できます。 他の言語のchar型に精通している場合、多くの書記体系の記号をサポートするのに十分な大きさではないことを既に知っているかもしれません。

Type Storage size Purpose
char 1 byte UTF-8 code unit
wchar 2 bytes UTF-16 code unit
dchar 4 bytes UTF-32 code unit and Unicode code point

いくつかの便利な文字関数は以下のとおりです-

  • isLower -小文字かどうかを判断しますか?
  • isUpper -大文字かどうかを判断しますか?
  • isAlpha -Unicodeの英数字(通常、文字または数字)を決定しますか?
  • isWhite -空白文字かどうかを判断しますか?
  • toLower -指定された文字の小文字を生成します。
  • toUpper -指定された文字の大文字を生成します。
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('ı'));
}

上記のコードをコンパイルして実行すると、次の結果が生成されます-

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で文字を読む

以下に示すように、_readf_を使用して文字を読み取ることができます。

readf(" %s", &letter);

DプログラミングはUnicodeをサポートしているため、Unicode文字を読み取るには、2回読み取り、2回書き込む必要があります。 これは、オンラインコンパイラでは機能しません。 以下に例を示します。

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);
}

上記のコードをコンパイルして実行すると、次の結果が生成されます-

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