我正在使用如下所示的操作码进行多堆栈程序:
(i, :, :)
“I”表示插入,数字是哪个堆栈,“D”表示删除,编号是哪个堆栈。我的问题是,如何从命令行中读取每个这些并确定要执行的操作?名称长度可变,我不能使用堆内存。我可以做的一件事是,因为可能的名称列表是已知的,所以将名称变为枚举类型。谢谢!
答案 0 :(得分:4)
如果您正在阅读标准输入中的值并且至少使用Ada 2005,则此方法将起作用:
with Ada.Text_IO;
procedure Foo is
use Ada.Text_IO;
begin
while not End_Of_File loop
declare
Cur_Line : constant String := Get_Line;
begin
-- process the line here
end;
end loop;
end Foo;