0
我有,我在互聯網上發現了一個代碼中的問題,我想打一個位圖和程序說:FILE_TYPE Ada中爲位圖
程序將PPM(文件:FILE_TYPE;圖片:圖片)是
但是,當我在main調用過程中,我不知道我應該在第一個參數,一個字符串與名稱,擴展名或什麼?
我希望你能幫助我:)
我有,我在互聯網上發現了一個代碼中的問題,我想打一個位圖和程序說:FILE_TYPE Ada中爲位圖
程序將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是爲了方便閱讀而不惜犧牲更多的努力來編寫它,以及標準的方法來保護像你我這樣的讀者不知道在什麼地方聲明是爲了避免'使用' (至少)規範中的子句。所以羅塞塔的例子本來會寫得更好
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
)。
歡迎來到StackOverflow。你可以添加更多的上下文嗎?你在哪裏找到這個代碼在線? – mjuarez