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_Type
在 Ada.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
也是如此)。
我在网上找到的代码有问题,我想制作位图,程序说:
程序放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_Type
在 Ada.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
也是如此)。