2015-09-17 31 views
0

我有,我在互聯網上發現了一個代碼中的問題,我想打一個位圖和程序說:FILE_TYPE Ada中爲位圖

程序將PPM(文件:FILE_TYPE;圖片:圖片)是

但是,當我在main調用過程中,我不知道我應該在第一個參數,一個字符串與名稱,擴展名或什麼?

我希望你能幫助我:)

+0

歡迎來到StackOverflow。你可以添加更多的上下文嗎?你在哪裏找到這個代碼在線? – mjuarez

回答

6

我確信你的代碼來自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_IOARM 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)。