--- open(file[, mode[, perm]])
--- open(file[, mode[, perm]]) {|io| ... }

    file 򥪡ץ󤷤ơFile ֥Ȥ֤ޤ
    mode ϡʲʸ(File::Constants ⥸塼
    )ꤷޤά "r" ꤵ줿
    Ȥߤʤޤ

    * "r", RDONLY: եɤ߹ߥ⡼ɤǥץ󤷤ޤ

    * "w", WRONLY|CREAT|TRUNC: ե񤭹ߥ⡼ɤǥ
      ץ󤷤ޤץ˥ե뤬Ǥ¸ߤƤ
      Ƥˤޤ

    * "a", WRONLY|CREAT|APPEND: ե񤭹ߥ⡼ɤǥ
      ץ󤷤ޤϤ((**))եɲä
      
      

    "+" Сեɤ߽ξѥ⡼(RDWR)ǥ
    󤵤ޤ

    * "r+": եɤ߽񤭰֤Ƭ˥åȤޤ

    * "w+": "r+" ƱǤץ˥ե뤬Ǥ
      ¸ߤƤФƤˤޤ

    * "a+": "r+" ƱǤץ˥ե뤬Ǥ
      ¸ߤƤɤ߽񤭰֤ե˥åȤ
      ޤ

    ΤФƤ "b" ե饰("r+b"Τ褦)Ĥ뤳Ȥ
    ޤ(ʤ File::BINARY)ξ硢Хʥ⡼ɤǥץ
    ޤ(ƥबƥȡХʥǥե̤
    ˸¤ޤ)

     3  perm  open(2) [manual page]  3 Ʊ
    CREAT ΥեΥǻꤷޤ
    ΰϡ 2 ͷǤʤ̵뤵ޤ
    ǥեȤ 0666 Ǥ

    ե̾ `|' ǻϤޤˤ³ʸ򥳥ޥɤȤƵ
    ưޥɤɸϤФƥѥץ饤ޤ

    ե̾ "|-" Ǥopen  Ruby λҥץ
    λҥץȤδ֤Υѥ(IO֥)֤
    ޤ(ΤȤưϡIO.popen ƱǤ
    File.open ˤϥѥץ饤뵡ǽϤޤ)

    ((**)): PerlȰۤʤꥳޥɤϾ `|' ǻϤޤޤ

    open ֥åȤȤ˸ƤӽФ줿open ϥե
    򥪡ץ󤷤ƥ֥å¹Ԥ֥åμ¹Ԥλȥե
    򥯥ޤξϥ֥åɾ̤֤ޤĤ
    ꡢʲΤ褦ˤʤޤ

      open(path, mode) do |f|
         ...
      end

      # 嵭ȤۤƱ
      f = open(path, mode)
      begin
         ...
      ensure
        f.close
      end

