繁体   English   中英

Ada:如何表示java字符串?

[英]Ada: How to represent a java string?

我需要一些关于我在Ada的家庭项目的提示/帮助。 所以我需要做一个J_String_Package,但我真的不知道如何表示我的J_string类型。 规范要求我:“将J_String类型表示为不透明的判别式记录。对于字符串的内部表示,使用标准字符串类型。判别式确定J_String类型中包含的字符串的大小。” 我的.ads到目前为止:

package J_String_Pkg is
    type J_String(Size: Positive) is limited private;

   --methods etc    

private
    type J_String(Size: Positive) is record
        --i need some help here!! :)
    end record;
end J_String_Pkg;

谢谢你的帮助!

你需要这样的东西:

type J_String(Size: Positive) is record
   Contents : String (1 .. Size);
end record;

这与Ada参考手册( ARM 3.7(33) )中的一个示例非常吻合。

需要注意的一点是:您的代码没有判别式的默认值,这意味着一旦创建,您将无法更改J_StringSize 来自ARM的例子,

type Buffer(Size : Buffer_Size := 100)  is
   record
      Pos   : Buffer_Size := 0;
      Value : String(1 .. Size);
   end record;

确实允许您更改实例的大小,在预分配的成本Buffer_Size字符(无论如何,与GNAT)。 不想这样做Positive ; 大多数计算机没有2千兆字节的RAM备用!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM