superclass=Object
type=class
library=_builtin
extended=
included=Enumerable,File=Constants

ŪϵǽΤΥ饹Ǥ

  * [[unknown:Traps: IO ݡȤΥץ˴ؤ|trap::IO]]

File::Constants ϡ[[c:File]]  IO ذưޤ

===[a:m17n] ¿첽 IO Υ󥳡ǥ

IO ֥Ȥϥ󥳡ǥ󥰤ޤ
󥳡ǥ󥰤αƶ᥽åɤȼʤ᥽åɤޤ

ƶ᥽åɤǤϡIO Υ󥳡ǥ󥰤˽ɤ߹ޤ줿ʸΥ󥳡ǥ󥰤ꤵޤ
ޤ IO Υ󥳡ǥ󥰤Ŭڤꤹ뤳Ȥˤꡢɤ߹߻񤭹߻ʸΥ󥳡ǥ󥰤
Ѵ뤳ȤǤޤ

==== 󥳡ǥ󥰤αƶ᥽åɤȼʤ᥽å

IO ɤ߹ߥ᥽åɤ2¸ߤޤ
ƥɤ߹ߥ᥽åɤȥХʥɤ߹ߥ᥽åɤǤ

ƥɤ߹ߥ᥽åɤ IO Υ󥳡ǥ󥰤αƶ򤦤ޤ
ܤϡ[[ref:io_encoding]]פ򻲾ȤƲ
ʲƥɤ߹ߥ᥽åɤǤ

 * [[m:IO.foreach]]
 * [[m:IO.readlines]]
 * [[m:IO#each]]
 * [[m:IO#each_line]]
 * [[m:IO#lines]]
 * [[m:IO#gets]]
 * [[m:IO#getc]]
 * [[m:IO#ungetc]]
 * [[m:IO#read]]
 * [[m:IO#readchar]]
 * [[m:IO#readline]]
 * [[m:IO#readlines]]

Хʥɤ߹ߥ᥽åɤ IO Υ󥳡ǥ󥰤αƶޤ
֤ʸΥ󥳡ǥ󥰤Ͼ ASCII-8BIT ˤʤޤ
ʲХʥɤ߹ߥ᥽åɤǤ

 * [[m:IO#read]](size) 
 * [[m:IO#read_nonblock]]
 * [[m:IO#readpartial]]
 * [[m:IO#sysread]]

ޤ񤭹ߥ᥽å [[m:IO#write]]  IO Υ󥳡ǥ󥰤αƶޤ
IO Τ٤Ƥν񤭹ߥ᥽åɤ [[m:IO#write]] ƤӤޤΤǡ
񤭹ߥ᥽åɤϤ٤ IO Υ󥳡ǥ󥰤αƶޤ

ϢΥ᥽åɤϥ󥳡ǥ󥰤αƶޤ
1ХȤñ̤Ȥưޤ

:

  f = File.open('t.txt', 'r+:euc-jp')
  p f.getc.encoding                             #=> Encoding::EUC_JP
  p f.read(1).encoding                          #=> Encoding::ASCII_8BIT 

====[a:io_encoding] IO Υ󥳡ǥ󥰤ȥ󥳡ǥ󥰤Ѵ

IO ֥Ȥϳ󥳡ǥ󥰤󥳡ǥ󥰤ޤ
󥳡ǥ󥰤Ȥ IO ɽեʤɤʸ󥳡ǥ󥰤Ǥ
󥳡ǥ󥰤Ȥ IO ɤ߹ޤ줿ʸ󡢤뤤 IO ν񤭹ߥ᥽åɤϤʸ
ʸ󥳡ǥ󥰤Ǥ

ʲλ̤꤬ޤ

: IO Υ󥳡ǥ󥰤ꤵƤʤ

  IO ƥɤ߹ߥ᥽åɤˤäɤ߹ޤ줿ʸΥ󥳡ǥ󥰤 [[m:Encoding.default_external]]
  ꤵޤΤȤºݤʸ󥳡ǥ󥰤ϸ줺Ѵ⤵ޤ

: 󥳡ǥ󥰤ΤߤꤵƤ

 IO ƥɤ߹ߥ᥽åɤˤäɤ߹ޤ줿ʸΥ󥳡ǥ󥰤ϳ󥳡ǥ
 ꤵޤΤȤºݤʸ󥳡ǥ󥰤ϸ줺Ѵ⤵ޤ

 IO ؽ񤭹ޤʸϳ󥳡ǥ󥰤ؤѴޤ
 󥳡ǥ󥰤ؤѴˡʬʤ㳰ȯޤ

: 󥳡ǥ󥰤󥳡ǥ󥰤ꤵƤ
 IO ƥɤ߹ߥ᥽åɤˤäɤ߹ޤ줿ʸϳ󥳡ǥ󥰤󥳡ǥ󥰤
 Ѵޤꤵ줿ʸ󥳡ǥ󥰤ȼºݤʸ󥳡ǥ󥰤äƤ硢㳰ȯޤ

 IO ؽ񤭹ޤʸϳ󥳡ǥ󥰤ؤѴޤ
 󥳡ǥ󥰤ؤѴˡʬʤ㳰ȯޤ

IO Фƥ󥳡ǥ󥰤ꤹˡˤϡ [[m:IO.open]]  [[m:File.open]] 
Ϥ⡼ɤȤȤ˻ꤹΤ
 [[m:IO#set_encoding]] ȤäƻꤹΤ̤꤬ޤܤϤ줾Υ᥽åɤι
ȤƲ̾ԤˡȤޤ

1:

  f = File.open('file1')
  p f.getc.encoding        #=> Encoding::EUC_JP

2:

  f = File.open('t.txt', 'w+:shift_jis:euc-jp')
  f.write "\xB4\xC1\xBB\xFA"            # ʸ ""  EUC-JP ƥ
  f.rewind
  s = f.read(4)
  puts s.dump                           #=> "\x8A\xBF\x8E\x9A" 
                                        # 󥳡ǥ󥰤SJISѴƤ뤳Ȥʬ롣

===== ޤȤ

ʾޤȤȰʲɽΤ褦ˤʤޤ

ɤ߹ʸΥ󥳡ǥ

                                 ̵          󥳡ǥ󥰤Τ    ξΥ󥳡ǥ
  ------------------------------------------------------------------------------------------------
  Хʥɤ߹ߥ᥽å      ASCII-8BIT                ASCII-8BIT                ASCII-8BIT   
                                                        
  ƥɤ߹ߥ᥽å     default_external      󥳡ǥ       󥳡ǥ    
                                                         

󥳡ǥ󥰤Ѵ

                               ̵     󥳡ǥ󥰤Τ      ξΥ󥳡ǥ     
  ------------------------------------------------------------------------------------------------
  Хʥɤ߹ߥ᥽å     Ѵʤ             Ѵʤ                     Ѵʤ               
                                                        
  ƥɤ߹ߥ᥽å     Ѵʤ             Ѵʤ                     Ѵ                
                                                         
  񤭹ߥ᥽å             Ѵʤ             Ѵ                     Ѵ               

==== ե̾Υ󥳡ǥ

ե̾ʸ󥳡ǥ󥰤ϥץåȥե˰¸ޤ
ե̾ʸ󥳡ǥ󥰤ꤵƤץåȥե(Win, Mac)Ǥϡ
󥳡ǥ󥰤ϰۤѴޤ(ͽ)UNIX ǤѴ줺ΤޤޥƥॳϤޤ

[[m:Dir.glob]], [[m:Dir.foreach]] ʤɤ֤ե̾Υ󥳡ǥ󥰤Ʊͤ˥ץåȥե¸Ǥ
UNIX Ǥ ASCII-8BIT Ǥ

==== binmode

Windows  IO ˤϥƥȥ⡼ɤȥХʥ⡼ɤȤ2Υ⡼ɤ¸ߤޤ
Υ⡼ɤϾ IO Υ󥳡ǥ󥰤ȤΩǤԤѴˤƶޤ


=== EOF Ǥɤ߹ߥ᥽åɤο񤤤ΰ㤤

ե EOF Ǥγɤ߹ߥ᥽åɤο񤤤ϰʲΤȤǤ
length Ǥ᥽åɤ˴ؤƤϡlength  nil ޤ 0 ꤷ硢
EOF ǤäƤ˶ʸ "" ֤ޤ

//emlist{
᥽å                      ΥեФ

IO.read(ե)           ""
IO.read(ե, length)   nil
IO.readlines(ե)      []
IO.foreach(ե)        ⤷ʤ
//}

//emlist{
᥽å                      EOFä

IO#each                       ⤷ʤ
IO#each_byte                  ⤷ʤ
IO#getc                       nil
IO#gets                       nil
IO#read()                     ""
IO#read(length)               nil
IO#read_nonblock              EOFError
IO#readchar                   EOFError
IO#readline                   EOFError
IO#readlines                  []
IO#readpartial                EOFError
IO#sysread                    EOFError
IO#bytes                      ̾ɤ
IO#lines                      ̾ɤ
//}
