Adaでは、最初に指定した文字列より少ない文字列を与えることはできますか? 例:Ada:文字列の法的価値?
Text : String(1..5);
Text := "ada";
このコードは正しいですか?または、5文字の文字列を与える必要がありますか?
ありがとうございます。
Adaでは、最初に指定した文字列より少ない文字列を与えることはできますか? 例:Ada:文字列の法的価値?
Text : String(1..5);
Text := "ada";
このコードは正しいですか?または、5文字の文字列を与える必要がありますか?
ありがとうございます。
タイプString
を使用すると、Adaの他の配列タイプと同じである必要があります。配列のすべての位置を埋めてください。
しかし、トリックの数があります
declare
Text : constant String := "Ada";
begin
...
end;
String
(配列)を初期化します String
(配列)のスライスを選択してください。declare
subtype Five_Characters is String (1 .. 5);
Text : Five_Characters := (others => ' ');
begin
Text (2 .. 4) := "Ada";
...
end;
使用Ada.Strings.Unbounded
:
declare
use Ada.Strings.Unbounded;
Text : Unbounded_String;
begin
Text := To_Unbounded_String ("Ada");
...
end;
@egilhhも述べているように、必要に応じてBounded_Stringを使うこともできます。 [The Ada Wikibook](https://en.wikibooks.org/wiki/Ada_Programming/Strings)では、これらの異なるタイプの完全な概要を示しています。 –
コードが正しくありません、あなたは、例えば、5つの文字を指定する必要がありますどちらか
declare
Text : String(1..5);
begin
Text := "ada ";
end;
または範囲
declare
Text : String(1..5) := (others => ' '); -- Init to spaces
begin
Text(1..3) := "ada"; -- Text now contains "ada "
end;
を指定するか、使用可能な文字列処理パッケージのいずれかを使用します。
この場合、5文字の文字列(固定文字列)が必要です。必要に応じて、Ada.Strings.BoundedやAda.Strings.Unboundedのような他のオプションもあります。 – egilhh