Google

$BA0(B - $B>e(B - $B - $BL\

IO

IO$B%/%i%9$O4pK\E*$JF~=PNO5!G=$r

$B%9!<%Q!<%/%i%9(B:

Object

$B%$%s%/%k!<%I$5$l$F$$$k%b%8%e!<%k(B:

Enumerable

$B%/%i%9%a%=%C%I(B:

foreach(path[, rs])

path$B$G;XDj$5$l$?%U%!%$%k$N3F9T$KBP$7$F7+$jJV$7$^(B $B$9!%$A$g$&$I0J2<$N$h$&$JF/$-$r$7$^$9!%(B

port = open(path)
begin
  port.each_line {
    ...
  }
ensure
  port.close
end

$B9T$N6h@Z$j$O0z?t(Brs$B$G;XDj$7$?J8;zNs$K$J$j$^$9!%(B rs$B$N%G%U%)%k%HCM$O%7%9%F%`JQ?t(B $/$B$NCM(B $B$G$9!%(B

new(fd[,mode])

$B@0?t(Bfd$B$G;XDj$7$?%U%!%$%k%G%#%9%/%j%W%?$KBP1~$9$k(B $B%9%H%j!<%`$r@8@.$7$^$9!%(B

popen(command [, mode])

command$B$r%5%V%W%m%;%9$H$7$Fmode $B$O%*!<%W%s$9$k(BIO$B%]!<%H$N%b!<%I$r;XDj$9$k$b$N$G!$(B "r", "r+", "w", "w+", "a", "a+"$B$N$$$:(B $B$l$+$G$9(B($B>JN,$5$l$?;~$N%G%U%)%k%H$O(B"r")$B!%(B

$B%3%^%s%IL>$,(B"-"$B$N;~!$(BRuby$B$O(Bfork$B$r9T$$!$<+J,<+?H(B $B$NJ,?H(B($B;R%W%m%;%9(B)$B$H$N%Q%$%W%i%$%s$r@8@.$7$^$9!%(B

pipe

pipe(2)$B$rIO$B%*%V%8%'%/%H$rMWAG$H$9(B $B$kG[Ns$rJV$7$^$9!%:G=i$NMWAG$,FI$_9~$_B&$G!$

readlines(path[, rs])

path$B$G;XDj$5$l$?%U%!%$%k$rA4$FFI$_9~$s$G!$$=$N3F(B $B9T$rMWAG$H$7$F$b$DG[Ns$rJV$7$^$9!%$A$g$&$I0J2<$N$h$&$JF/$-$r(B $B$7$^$9!%(B

port = open(path)
begin
  port.readlines
ensure
  port.close
end

$B9T$N6h@Z$j$O0z?t(Brs$B$G;XDj$7$?J8;zNs$K$J$j$^$9!%(B rs$B$N%G%U%)%k%HCM$O%7%9%F%`JQ?t(B $/$B$NCM(B $B$G$9!%(B

select(reads[, writes[, excepts[, timeout]]])

`select(2)'$B$rreads/writes/execpts$B$K$OF~(B $BNOBT$A$9$k(BIO($B$^$?$O$=$N%5%V%/%i%9(B)$B$N(B $B%$%s%9%?%s%9$NG[Ns$r$o$?$7$^$9!%(B

timeout$B$O@0?t!$IbF0>.?tE@?t(B, Time, $B$^$?$O(B nil $B$r;XDj$7$^$9!%(Bnil $B$r;XDj$7$?;~(B $B$K$O(BIO$B$,%l%G%#>uBV$K$J$k$^$GBT$AB3$1$^$9!%(B

$BLa$jCM$O(Btimeout$B$7$?;~$K$O(Bnil$B$r!$$=$&(B $B$G$J$$$H$-$O(B3$BMWAG$NG[Ns$rJV$7!$$=$N3FMWAG$,F~NO(B/$B=PNO(B/$BNc30BT(B $B$A$N%*%V%8%'%/%H$NG[Ns$G$9(B($B;XDj$7$?G[Ns$N%5%V%;%C%H(B)$B!%(B

$B%a%=%C%I(B:

self << object

object$B$r=PNO$7$^$9!%(Bobject$B$,J8;zNs$G$J(B $B$$;~$K$O%a%=%C%I(Bto_s$B$rMQ$$$FJ8;zNs$KJQ49$7$^$9!%(B self$B$rLa$jCM$H$9$k$N$G!$0J2<$N$h$&$J(B <<$B$NO":?$r;H$&$3$H$,$G$-$^$9!%(B

$stdout << 1 << " is a " << Fixnum << "\n"

binmode

$B%9%H%j!<%`$r%P%$%J%j%b!<%I$K$7$^$9!%(BMSDOS$B$J$I%P%$%J%j%b!<%I$N(B $BB8:_$9$k(BOS$B$G$N$_M-8z$G$9!%%P%$%J%j%b!<%I$+$iDL>o$N%b!<%I$KLa(B $B$9J}K!$O:F%*!<%W%s$7$+$"$j$^$;$s!%(B

close

$BF~=PNO%]!<%H$r%/%m!<%:$7$^$9!%0J8e$N$3$N%]!<%H$KBP$9$kF~=PNO(B $BA`:n$ONc30$rH/@8$7$^$9!%%,!<%Y!<%8%3%l%/%H$N:]$K$O%/%m!<%:$5(B $B$l$F$$$J$$(BIO$B%]!<%H$O%/%m!<%:$5$l$^$9!%(B

closed?

$B%]!<%H$,%/%m!<%:$5$l$F$$$k;~$K??$rJV$7$^$9!%(B

each([rs]) {|line|...}
each_line([rs]) {|line|...}

IO$B%]!<%H$+$i(B1$B9T$:$DFI$_9~$s$G7+$jJV$9%$%F%l!<%?!%(BIO$B%]!<%H$O(B $B%j!<%I%b!<%I$G%*!<%W%s$5$l$F$$$kI,MW$,$"$j$^$9(B (open$B;2>H(B)$B!%(B

$B9T$N6h@Z$j$O0z?t(Brs$B$G;XDj$7$?J8;zNs$K$J$j$^$9!%(B rs$B$N%G%U%)%k%HCM$O%7%9%F%`JQ?t(B $/$B$NCM(B $B$G$9!%(B

each_byte {|ch|...}

IO$B%]!<%H$+$i(B1$B%P%$%H$:$DFI$_9~$_$^$9!%(BIO$B%]!<%H$O(B $B%j!<%I%b!<%I$G%*!<%W%s$5$l$F$$$kI,MW$,$"$j$^$9(B (open$B;2>H(B)$B!%(B

eof
eof?

$B%9%H%j!<%`$,%U%!%$%k$N=*C<$KC#$7$?>l9g??$rJV$7$^$9!%(B

fcntl(cmd[, arg])

IO$B$KBP$7$F%7%9%F%`%3!<%k(B fcntl $B$r\:Y$O(Bfcntl(2)$B$r;2>H$7$F$/$@$5$$!%(B

arg$B$,@0?t$N;~$K$O$=$NCM$r!$J8;zNs$N>l9g$K$O(Bpack$B$7$?9=B$BN$@(B $B$H$_$J$7$F(Bfcntl(2)$B$KEO$7$^$9!%(Barg$B$N(B $B>JN,;~$NCM$O(B0$B$G$9!%(B

fileno
to_i

$B%U%!%$%k5-=R;R$NHV9f$rJV$7$^$9!%(B

flush

IO$B%]!<%H$NFbIt%P%C%U%!$r%U%i%C%7%e$7$^$9!%(B

getc

IO$B%]!<%H$+$i(B1$BJ8;zFI$_9~$s$G!$$=$NJ8;z$KBP1~$9$k(BFixnum$B$rJV$7$^$9!%(B EOF$B$KE~C#$7$?;~$K$O(Bnil$B$rJV$7$^$9!%(B

gets([rs])

$B0l9TFI$_9~$s$G!$FI$_9~$_$K@.8y$7$?;~$K$O$=$NJ8;zNs$rJV$7$^$9!%(B $B%U%!%$%k$N=*$j$KE~C#$7$?;~$K$O(Bnil$B$rJV$7$^$9!%(B each$B$HF1$8$h$&$KF0:n$7$^$9(B $B$,!$$3$A$i$O(B1$B9TJV$9$@$1$G7+$jJV$7$^$;$s!%(B

$B9T$N6h@Z$j$O0z?t(Brs$B$G;XDj$7$?J8;zNs$K$J$j$^$9!%(B rs$B$N%G%U%)%k%HCM$O%7%9%F%`JQ?t(B $/$B$NCM(B $B$G$9!%(B

gets$B$OFI$_9~$s$@J8;zNs$rJQ?t(B$_$B$K%;%C(B $B%H$7$^$9!%(B

ioctl(cmd[, arg])

IO$B$KBP$7$F%7%9%F%`%3!<%k(B ioctl $B$r\:Y$O(Bioctl(2)$B$r;2>H$7$F$/$@$5$$!%(B

arg$B$,@0?t$N;~$K$O$=$NCM$r!$J8;zNs$N>l9g$K$O(Bpack$B$7$?9=B$BN$@(B $B$H$_$J$7$F(Bioctl(2)$B$KEO$7$^$9!%(Barg$B$N(B $B>JN,;~$NCM$O(B0$B$G$9!%(B

isatty
tty?

$BF~=PNO%]!<%H$,(Btty$B$K7k9g$7$F$$$k;~!$??$rJV$7$^$9!%(B

lineno

$B8=:_$N9THV9f$rJV$7$^$9!%(B

lineno= number

$B9THV9f$r%;%C%H$7$^$9!%(B

pos

$B%U%!%$%k%]%$%s%?$N0LCV$rJV$7$^$9!%(B

pos= pos

$B%U%!%$%k%]%$%s%?$r;XDj0LCV$K0\F0$7$^$9!%(B

print arg...

$B0z?t$r(BIO$B%]!<%H$K=g$K=PNO$7$^$9!%(B

printf(format, arg...)

C$B8@8l$N(Bprintf$B$HF1$8$h$&$K!$(B format$B$K=>$$0z?t$rJ8;zNs$KJQ49$7$F!$(BIO$B%]!<%H$K=P(B $BNO$7$^$9!%(B

putc(ch)

$BJ8;z(Bch$B$r=PNO$7$^$9!%(B

puts(obj...)

$B3F(Bobj$B$r=PNO$7$?8e!$2~9T$7$^$9!%(B

read [length]

length$B%P%$%HFI$_9~$s$G!$$=$NJ8;zNs$rJV$7$^$9!%(B length$B$,>JN,$5$l$?;~$K$O!$(BEOF$B$^$G$N(B $BA4$F$N%G!<%?$rFI$_9~$_$^$9!%(B

EOF$B$G(Bnil$B$rJV$7$^$9!%(B

readchar

getc$B$HF1MM$K(B1$BJ8;zFI$_9~$_$^$9(B $B$,!$(BEOF$B$KE~C#$7$?;~$KNc30(BEOFError$B$rH/@8$5$;$^$9!%(B

readline([rs])

gets$B$HF1MM$K(B1$B9TFI$_9~$_$^$9(B $B$,!$(BEOF$B$KE~C#$7$?;~$KNc30(BEOFError$B$rH/@8$5$;$^$9!%(B

$B9T$N6h@Z$j$O0z?t(Brs$B$G;XDj$7$?J8;zNs$K$J$j$^$9!%(B rs$B$N%G%U%)%k%HCM$O%7%9%F%`JQ?t(B $/$B$NCM(B $B$G$9!%(B

readline$B$O(Bgets$BF1MMFI$_9~$s$@J8;zNs(B $B$rJQ?t(B$_$B$K%;%C%H$7$^$9!%(B

readlines([rs])

$B%U%!%$%k$rA4$FFI$_9~$s$G!$$=$N3F9T$rMWAG$H$7$F$b$DG[Ns$rJV$7(B $B$^$9!%(B

$B9T$N6h@Z$j$O0z?t(Brs$B$G;XDj$7$?J8;zNs$K$J$j$^$9!%(B rs$B$N%G%U%)%k%HCM$O%7%9%F%`JQ?t(B $/$B$NCM(B $B$G$9!%(B

reopen(io)

$B<+?H$r(Bio$B$K7R$.49$($^$9!%%/%i%9$b(Bio$B$KEy(B $B$7$/$J$j$^$9(B($B4m81(B)$B!%(B

rewind

$B%U%!%$%k%]%$%s%?$r@hF,$K0\F0$7$^$9!%(B

seek(offset, whence)

$B%U%!%$%k%]%$%s%?$r(Boffset$B$@$10\F0$5$;$^$9!%(B whence$B$NCM$,(B0$B$N;~$K$O%U%!%$%k$N@hF,$+$i!$(B1$B$N;~$K$O8=:_$N(B $B%U%!%$%k%]%$%s%?$+$i!$(B2$B$N;~$K$O(BEOF$B$+$i(Boffset$B%P%$%H$@(B $B$10\F0$7$^$9!%(B

stat

$B%U%!%$%k$N%9%F!<%?%9$r4^$`(BStat $B9=B$BN(B$B$rJV$7$^$9!%(BStat$B9=B$BN(B $B$N%a%s%P$O0J2<$NDL$j$G$9!%(B

dev	 	# $B%G%P%$%9HV9f(B($B%U%!%$%k%7%9%F%`(B)
ino		# i-node$BHV9f(B
mode		# $B%U%!%$%k%b!<%I(B
nlink		# $B%O!<%I%j%s%/$N?t(B
uid		# $B%*!<%J!<$N%f!<%6(BID
gid		# $B%*!<%J!<$N%0%k!<%W(BID
rdev		# $B%G%P%$%9%?%$%W(B($B%9%Z%7%c%k%U%!%$%k$N$_(B)
size		# $B%U%!%$%k%5%$%:(B($B%P%$%HC10L(B)
blksize		# $BK>$^$7$$(BI/O$B$N%V%m%C%/%5%$%:(B
blocks		# $B3d$jEv$F$i$l$F$$$k%V%m%C%/?t(B
atime		# $B:G=*%"%/%;%9;~4V(B
mtime		# $B:G=*99?7;~4V(B
ctime		# $B:G=*(Bi-node$BJQ99;~4V(B

$B$h$j>\:Y$O(Bstat(2)$B$7$F$/$@$5$$!%%7%9%F%`$K$h$C$F(B $B%5%]!<%H$5$l$F$$$J$$%a%s%P$K$O(B0$B$,F~$C$F$$$^$9!%(B

sync

$B8=:_$N=PNOF14|%b!<%I$r??56CM$GJV$7$^$9!%F14|%b!<%I$,??$N;~$O(B $B=PNO4X?t$N8F=PKh$K%P%C%U%!$,%U%i%C%7%e$5$l$^$9!%(B

sync= newstate

$B=PNOF14|%b!<%I$r@_Dj$7$^$9!%(B

sysread(length)

`read(2)'$B$rMQ$$$FF~NO$r9T$J$$!$F~NO$5$l$?%G!<%?(B $B$r4^$`J8;zNs$rJV$7$^$9!%%U%!%$%k$N=*$j$KE~C#$7$?;~$K$ONc30(B EOFError$B$rH/@8$5$;$^$9!%(B`stdio'$B$r(B $B7PM3$7$J$$$N$G(Bgets$B$d(Bgetc$B$d(Beof?$B$J$I(B $B$H:.MQ$9$k$H;W$o$LF0:n$r$9$k$3$H$,$"$j$^$9!%(B

syswrite(string)

`write(2)'$B$rMQ$$$F(Bstring$B$r=PNO$7$^$9!%(B `stdio'$B$r7PM3$7$J$$$N$GB>$N=PNO%a%=%C%I$H:.MQ$9(B $B$k$H;W$o$LF0:n$r$9$k$3$H$,$"$j$^$9!%(B

tell

$B%U%!%$%k%]%$%s%?$N8=:_$N0LCV$rJV$7$^$9!%(B

write(str)

IO$B%]!<%H$KBP$7$F(Bstr$B$r=PNO$7$^$9!%=PNO$5$l$?%P%$%H(B $B?t$rJV$7$^$9!%(B

ungetc(char)

char$B$rFI$_La$7$^$9!%(B2$B%P%$%H0J>e$NFI$_La$7$OJ]>Z$5(B $B$l$^$;$s!%(B


$BA0(B - $B>e(B - $B - $BL\

matz@netlab.co.jp