kind=defined
names=new,open
visibility=public

--- new(path, mode = "r", perm = 0666)                -> File 
--- open(path, mode = "r", perm = 0666)               -> File 
--- open(path, mode = "r", perm = 0666) {|file| ... } -> object

path で指定されるファイルをオープンし、[[c:File]] オブジェクトを生成して
返します。

path が整数の場合はファイルディスクリプタとして扱い、それに対応する
[[c:File]] オブジェクトを生成して返します。[[m:IO.open]] と同じです。
ブロックを指定して呼び出した場合は、File オブジェクトを引数として
ブロックを実行します。ブロックの実行が終了すると、ファイルは自動的に
クローズされます。ブロックの実行結果を返します。

@param path ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。

@param mode モードを文字列か定数の論理和で指定します。[[m:Kernel.#open]] と同じです。

@param perm ファイルを生成する場合のファイルのパーミッションを整数で指定します。[[m:Kernel.#open]] と同じです。

@raise Errno::EXXX ファイルのオープンに失敗した場合に発生します。

