title: Phi::Application
author: YOSHIDA Kazuhiro
mailto: moriq@moriq.com

1. Phi::Application

実行中のアプリケーションについての情報を表す。

Phi は %c:Phi::APPLICATION% ( 定数 ) を用意する。

1.1.1. methods

: terminated : Boolean
  %c:WM_QUIT% メッセージを受け取ったか

1.1.1. properties

: icon : Phi::Icon
  デスクトップやタスクバーに表示されるアイコン

: title : String
  #icon の下に付けるテキスト

1.1. IO 関連

1.1.1. methods

%c:Phi% を導入すると，標準入出力は切り替わる。
--ruby
require 'phi'
p $stdin  #==> #<Application:0x??>
p $stdout #==> #<Application:0x??>
p $stderr #==> #<Application:0x??>
p $>      #==> #<Application:0x??>
--
: write(s) : Fixnum
  標準出力支援

  %c:$> == Phi% のときは， Ruby 組み込みの関数 %c:p% , %c:print% はこれを呼び出す。

  %c:Apollo.exe% では， %c:Console#memo.lines% に s を追加する。

  : s : String

: gets : String or nil
  標準入力支援

  %c:$stdin == Phi% のときは， Ruby 組み込みの関数 %c:gets% はこれを呼び出す。

  入力文字列の長さが 0 のときは nil を返す。 EOF を検出するためだ。
--ruby
while gets
  print
end
--
  %c:Apollo.exe% では， %c:Console#memo% からの入力を返す。

  入力は %c:Console#memo% に focus を置いて， key を打てばよい。 [Enter] ( %c:0x0d "\r"% ) が押されるまで，入力は蓄えられる。行末の %c:\r% は %c:\n% に置き換えられる。

  [Ctrl+D] ( %c:0x04 "\C-d"% ) を押すことによっても，入力を完了できる。最後の完了合図のための打鍵は入力に含まれない。

: getc : Fixnum or nil
  標準入力支援

  %c:$stdin == Phi% のときは， Ruby 組み込みの関数 %c:getc% はこれを呼び出す。

  入力文字列の長さが 0 のときは nil を返す。そのほか， #gets と同じ扱いになる。
