私が定義した
subtype String10 is String(1..10);
Enterキーを押す前に手動で空白を入力することなく、キーボード入力を取得しようとしています。私は get_line() を試しましたが、何らかの理由で get put() コマンドを出力する前に実際に入力を待つことはありませんでした。
私は Bounded_String と Unbounded_String について知っており、使用したことがありますが、これを機能させる方法があるかどうか疑問に思っています。
私はそれのための関数を作ってみました:
--getString10--
procedure getString10(s : string10) is
c : character;
k : integer;
begin
for i in integer range 1..10 loop
get(c);
if Ada.Text_IO.End_Of_Line = false then
s(i) := c;
else
k := i;
exit;
end if;
end loop;
for i in integer range k..10 loop
s(i) := ' ';
end loop;
end getString10;
s(i)
しかし、ここでは、それが機能しないことを知っています。
"if Ada.Text_IO.End_Of_Line = false then"
私が望んでいることをします。実際の方法を探している間、それは単なるプレースホルダーです。
数時間検索しましたが、Ada のドキュメントは他の言語ほど利用可能ではないか、明確ではありません。文字列の取得について多くのことを見つけましたが、探しているものではありません。