【问题标题】:How to get vector length in Ada?如何在 Ada 中获取向量长度?
【发布时间】:2015-05-20 18:03:07
【问题描述】:

示例源代码http://www.waratuman.com/2010/06/02/vectors_in_ada/

with Ada.Containers.Vectors;
with Ada.Integer_Text_IO;
with Ada.Text_IO;
use Ada.Containers;

procedure Euler3 is

    package Integer_Vectors is new Vectors(Natural, Integer);

    Numbers : Integer_Vectors.Vector;
    Cursor : Integer_Vectors.Cursor;

begin

    -- Get some content
    Integer_Vectors.Append(Numbers, 43);
    Integer_Vectors.Append(Numbers, 44);
    Integer_Vectors.Append(Numbers, 45);

    Cursor := Integer_Vectors.First(Numbers);
    while Integer_Vectors.Has_Element(Cursor) loop
        Ada.Integer_Text_IO.Put(Integer_Vectors.Element(Cursor));
        Ada.Text_IO.New_Line;
        Integer_Vectors.Next(Cursor);
    end loop;

end Euler3;

如何从上面的代码中得到Integer_Vectors的长度?

【问题讨论】:

标签: ada


【解决方案1】:

没关系,找到了

Integer_Vectors.Length(Numbers)

或者,更简洁,

Numbers.Length

【讨论】:

  • 是时候学习阅读 ARM(Ada 参考手册)——尤其是附件 A :)