[Feature #583] Tmpdir$B$H(BTempfile

Feature #583: Tmpdire$B$He(BTempfile
http://redmine.ruby-lang.org/issues/show/583

e$B5/I<<Te(B: Yuki S.
e$B%9%F!<%?%9e(B: Open, e$BM%@hEYe(B: Normal

Tempfilee$B$Ke(BTmpfilee$B$H$$$&JLL>$rIU$1$Fe(BTempfilee$B$Oe(B2.0e$B$G$OGQ;_$9$kJ}8~$G!#e(B

e$B%A%1%C%He(B #583 e$B$,99?7$5$l$^$7$?!#e(B (by Akinori MUSHA)

tmpdire$B$NJ}$,8e$K$G$-$?$o$1$@$7!"e(BTmpe$B$h$je(BTempe$B$NJ}$,$$$$>JN,7A$@$H;W$&$s$G$9$,!“e(B
Tmpdire$B”*e(BTempdire$B$O9MN830$G$7$g$&$+!#e(B

http://redmine.ruby-lang.org/issues/show/583

e$B%A%1%C%He(B #583 e$B$,99?7$5$l$^$7$?!#e(B (by Shyouhei U.)

e$B$J$e(BPOSIXe$B$K$“$k$N$Oe(Btmpfile()e$B$G$9!#e(B
e$B$”$He(BUnixe$B7Oe(BOSe$B$G$OEAE}E
$K4D6-JQ?te(BTMPDIRe$B$,$"$k$3$H$,B?$$$G$7$g$&!#e(B

e$B$7$?$,$C$F;d$H$7$F$Oe(BTmpfile,
Tmpdire$B$N$[$&$,47=,$K$=$C$?L>A0$G$"$k$H;W$$$^$9!#e(B

http://redmine.ruby-lang.org/issues/show/583

e$B1sF#$G$9!#e(B

2008/09/22 19:06 Shyouhei U. [email protected]:

e$B$7$?$,$C$F;d$H$7$F$Oe(BTmpfile, Tmpdire$B$N$[$&$,47=,$K$=$C$?L>A0$G$"$k$H;W$$$^$9!#e(B

e$B47=,$H$$$&OC$G$O!“e(Bruby e$B$G$O$b$&e(B tempfile/tmpdir
e$B$H$$$&47=,$,$”$k$He(B
e$B;W$$$^$9!#e(B

e$B$A$J$_$Ke(B Google e$B$N%R%C%H?te(B:

tempfile : 1,130,000
tmpfile : 523,000
tempdir : 401,000
tmpdir : 877,000

e$B$"$H$O!"B>$Ne(B LL e$B$r8+$?46$8e(B

Perl : tempfile/tempdir (File::Temp)
Python : tempfile/tempdir (module tempfile)
PHP : tmpfile/tmpdir

e$B$G$9$+$M!#E,Ev$KD4$Y$?$@$1$J$N$G4V0c$C$F$?$i$4$a$s$J$5$$!#e(B

e$B:#99L>A0$rJQ$($k$[$I$NM}M3$,$"$k$h$&$K$O;W$$$^$;$s!#e(B

e$B%A%1%C%He(B #583 e$B$,99?7$5$l$^$7$?!#e(B (by Akinori MUSHA)

SUSv3e$B$K$Oe(Btmpfile(3)e$B$h$j?7$7$$e(Bmkstemp(3)e$B$,$"$C$F!“e(BTempfilee$B$N5!G=$O$=$A$i$KJo$C$F$$$^$9!#e(B
e$B!D$H$$$&$N$O8@$C$F$_$?$@$1$G!”$=$b$=$b!"B7$($?$$F05!$O2?$J$N$+$,$o$+$j$^$;$s!#e(B

tempfilee$B$He(Btmpdire$B$N%$%s%?!<%U%'!<%9$C$F!"e(BTempfilee$B$re(BTmpfilee$B$K$7$?$H$3$m$Ge(B

Tmpfile.open { |f| …fe$B$Oe(BTmpfilee$B%*%V%8%'%/%He(B… }
Dir.mktmpdir { |d| …de$B$OJ8;zNse(B… }

e$B$G$<$s$<$sB7$$$^$;$s$h$M!#$J$s$G8_49@-$r<:$C$F$^$GL>A0$@$1JQ$($k$s$G$9$+!)e(B

http://redmine.ruby-lang.org/issues/show/583

e$B%A%1%C%He(B #583 e$B$,99?7$5$l$^$7$?!#e(B (by Akinori MUSHA)

e$B%$%s%?!<%U%'!<%9$,9%$-$8$c$J$$$+$iL>A0$rJQ$($k!)e(B
e$B2?$,EvA3$J$N$+$5$C$Q$jFI$_<h$l$J$$$s$G$9$,!#$8$c$"$3$Ne(Bissuee$B$O2?$J$N!)e(B

tmpfilee$B$H$$$&%i%$%V%i%j$r:n$C$F>-MhE*$Ke(Btempfilee$B$OGQ;_$7$h$&$C$F$3$H$J$i!"e(B
e$B$O$C$-$j$=$&Ds0F$7$F$/$@$5$$!#e(B

http://redmine.ruby-lang.org/issues/show/583

e$B%A%1%C%He(B #583 e$B$,99?7$5$l$^$7$?!#e(B (by Shyouhei U.)

e$B$J$s$J$s$G$7$g$&$M!#26$K@Z$l$i$l$F$b:$$j$^$9$,e(B(First
Poste$B26$8$c$J$$$7e(B)e$B!#e(B

http://redmine.ruby-lang.org/issues/show/583

e$B%A%1%C%He(B #583 e$B$,99?7$5$l$^$7$?!#e(B (by Shyouhei U.)

e$B$s!“EvA3$=$3$N%$%s%?!<%U%'!<%9$bB7$($k$s$@$H;W$C$F$^$7$?$,!#e(B
e$B:#$Ne(BTempfilee$B$C$F@5D>e(BDelegatore$B$N=,:n$_$?$$$J46$8$,$7$F$”$s$^$j9%$-$8$c$J$$$G$9!#e(B


http://redmine.ruby-lang.org/issues/show/583

e$B%A%1%C%He(B #583 e$B$,99?7$5$l$^$7$?!#e(B (by Shyouhei U.)

e$B$^$"$=$l$O$=$l$H$7$F<+J,$N0U8+$r=q$$$F$*$-$^$9$M!#e(B

1 tempfilee$B$He(Btmpdire$B$O=c?h$KJ,$+$j$E$i$9$.$k!#e(Brequire
"tmpfile"e$B$r=qe(B
e$B$$$?$3$H$O;W$$=P$9$@$1$G$bJR<j$G$O?t$(@Z$l$J$$$/$i$$7P83$7$F$$e(B
e$B$k!#$7$?$,$C$F2~L>$K;?@.!#e(B

2
e$BL>A0$H$7$Fe(Btempfilee$B$He(Btmpfilee$B$J$i!"e(Btmpfilee$B$N$[$&$,9%$-!#e(BPOSIXe$B$+$ie(B
e$B$N47=,$K1h$C$F$$$k!#e(B

3 e$B8=:_$Ne(Btempfilee$B$N@_7W$H$+<BAu$O9%$-$8$c$J$$!#$?$H$($Pe(B

  • Tempfile.opene$B$K%V%m%C%/$D$1$F5/F0$7$?$i%V%m%C%/$N:G8e$Ge(Bunlink
    e$B$7$F$[$7$$!#e(B
  • Process.daemone$B$9$k$H%4%_%U%!%$%k$,;D$k$N$O$I$&$K$+$7$F$[$7$$e(B

4 e$BL>A0$rJQ$($F:F=PH/$9$k$J$i!"$;$C$+$/$J$N$G>e5-$N$h$&$JE@$b$U$/e(B
e$B$a$F:F@_7W$9$k$N$,$$$$$H;W$&!#e(B

http://redmine.ruby-lang.org/issues/show/583

e$B%A%1%C%He(B #583 e$B$,99?7$5$l$^$7$?!#e(B (by Shyouhei U.)

e$B$=$&$G$9$M!#!VEvA3!A!W$O8m2r$r$^$M$/I=8=$G$7$?!#$4$a$s$J$5$$!#e(B

http://redmine.ruby-lang.org/issues/show/583

e$B%A%1%C%He(B #583 e$B$,99?7$5$l$^$7$?!#e(B (by Akinori MUSHA)

e$B$3$Ne(Bissuee$B<+BN!“J8L.$b$J$7$K$$$-$J$je(B(e$B%j%j!<%9%^%M!<%8%c$+$ie(B)e$B=P$F$-$?$N$GLL$/$i$$$^$7$?!#e(B
e$BKNIt$5$s$N!VEvA3!A$H;W$C$F$^$7$?!W$K$O!”$3$Ne(Bissuee$B$N2?$i$+$N7P0^$r6&M-$7$F$$$k$K$*$$$re(B
e$B46$8$?$s$G$9$,!"0c$$$^$7$?$+!#e(B

e$B$^$"!“Ds0F$O$$$$$s$G$9$,!”%%U%H%T%C%/$G$9$h$M!#e(B
ruby-deve$B$G$b$C$H6qBNE
$JFbMF$KMn$H$7$F5DO@$7$?J}$,$$$$$H;W$$$^$9!#e(B

http://redmine.ruby-lang.org/issues/show/583