2017-01-29 8 views
0

私はAdaを練習しており、単語と整数を出力する簡単なプログラムを作っています。ここでは、巨大なスペースがあり、なぜ私にはわからないAda:整数をコンソールに印刷するときに大きなスペースがあるのはなぜですか?

私のコードです:

Yes  55 

が、私はそれが見えるようにしたいときは:問題は、コンソール出力は次のように見えることである

WITH Ada.Text_IO; USE Ada.Text_IO; 

PROCEDURE Practice IS 
    PACKAGE MyInt_IO IS NEW Ada.Text_IO.Integer_Io(Integer); 
    USE MyInt_IO; 
BEGIN 
    Put("Yes"); Put(55); 
END Practice; 

ありがとうございます!

+3

([*エイダ*でテキスト出力をフォーマットする方法はあり]の可能性のある重複http://stackoverflow.com/questions/6032210/is-there-a-way-to-format-text-output-in-ada)。 – trashgod

+1

[* Ada *の* Integer'Image' *値の後のスペースを取り消す可能性があります(http://stackoverflow.com/q/1846737/230513)。 – trashgod

+0

このタイプの値を保持するのに十分なスペースを置く(+/-サインを含む)。 Long_Integerを使用した場合は大きなギャップがあり、新しいタイプ(たとえばShortタイプが範囲1..10)を作成し、その新しいタイプでInteger_IOをインスタンス化すると、はるかに短いギャップが表示されます。 –

答えて

0

コンソールに印刷するときに数字を右揃えにするために大きなスペースがあります(多くの行を印刷する場合に比較しやすくするため)。あなたはそれを削除したい場合は

、あなたはゼロの最小サイズを設定するInteger_IO.PutWidthパラメータを使用することができます。

Put(55, Width => 0); 
+0

それはありがとう!このデフォルトの右揃えの目的は正確に何ですか? – Numnumberry

関連する問題