【发布时间】:2014-04-04 06:04:44
【问题描述】:
我试图在 Ada 中定义一个字符串数组来存储可变大小的字符串。 我遇到的问题是我必须预先定义我在编译时不知道的字符串的大小,并且 Unbounded_Strings String_Split.Create 不起作用,因为它需要 Standard.String。
下面是我的代码,我需要能够解析可变大小的字符串,而不是 只是固定长度 4.
提前致谢。
type StrArray is array(1..7) of String(1..4);
function Split(Line : String;Sep : String) return StrArray is
Tokens : String_Split.Slice_Set;
Output : StrArray;
Count : Natural := 0;
begin
String_Split.Create(s => Tokens,
From => Line,
Separators => Sep,
Mode => String_Split.Single);
For I in 1 .. String_Split.Slice_Count (Tokens) loop
Count := Count + 1;
Output(Count) := String_Split.Slice(Tokens,I); -- Not sure how to convert Slice_Count to Integer either!
end loop;
return Output;
end Split;
【问题讨论】: