File_Type 在 Ada 中用于位图

File_Type in Ada for a bitmap

我在网上找到的代码有问题,我想制作位图,程序说:

程序放PPM(文件:File_Type;图片:图像)是

但是当我调用main中的过程时,我不知道应该在第一个参数中输入什么,一个带有名称、扩展名或什么的字符串???

希望你能帮助我:)

我相当确定您的代码来自 Rosetta Code

这就开始了

with Ada.Characters.Latin_1;
with Ada.Streams.Stream_IO;  use Ada.Streams.Stream_IO;

procedure Put_PPM (File : File_Type; Picture : Image) is
   use Ada.Characters.Latin_1;

并且 File_TypeAda.Streams.Stream_IO (ARM A.12.2) 中定义。

您的主程序需要声明一个Ada.Streams.Stream_IO.File_Type类型的变量,创建文件,并将其传递给Put_PPM:

with Ada.Streams.Stream_IO;
with Put_PPM;

procedure My_Main is
   F : Ada.Streams.Stream_IO.File_Type;
   Pic : ...
begin
   Ada.Streams.Stream_IO.Create 
     (F,
      Mode => Ada.Streams.Stream_IO.Out_File,
      Name => “foo.ppm”);
   Put_PPM (File => F, Picture => Pic);
end My_Main;

(这不涉及从命令行获取参数,处理 foo.ppm 已经存在的情况,等等)。

Ada 应该很容易 (-ish) 阅读,但要付出更多的努力来编写它,而使像你我这样的读者免于疑惑事物声明位置的标准方法是避免“使用” '(至少)规范中的条款。所以 Rosetta 的例子会写得更好

with Ada.Characters.Latin_1;
with Ada.Streams.Stream_IO;

procedure Put_PPM (File : Ada.Streams.Stream_IO.File_Type; Picture : Image) is
   use Ada.Characters.Latin_1;
   use Ada.Streams.Stream_IO;

Image 也是如此)。