高野ã§ã™ã€‚
テストã®æ„図ãŒã‚ã‹ã‚‰ãªã‹ã£ãŸã®ã§ã™ãŒã€ã“ã‚Œã¯ãƒã‚°ã‹ã—ら。
Index: test/ruby/test_process.rb
— test/ruby/test_process.rb (revision 19709)
+++ test/ruby/test_process.rb (working copy)
@@ -453,7 +453,6 @@
IO.popen("-") {|io|
if !io
puts “fooo”
- else
assert_equal(“fooo\n”, io.read)
end
}
e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B
In message “Re: [ruby-dev:36678] test_process.rb”
on Wed, 8 Oct 2008 08:13:12 +0900, TAKANO Mitsuhiro
[email protected] writes:
|e$B%F%9%H$N0U?^$,$o$+$i$J$+$C$?$N$G$9$,!"$3$l$O%P%0$+$7$i!#e(B
e$B$3$l$O$3$l$G$$$$$s$8$c$J$$$G$9$+$M!#e(Bpopene$B$Ge(B"-“e$B$r;XDj$9$k$H;Re(B
e$B%W%m%;%9$G$Oe(Bioe$B$Ke(Bnile$B$,EO$k$N$Ge(Bfoooe$B$r=PNO$7!”?F%W%m%;%9$G$Oe(Bio
e$B$,EO$k$N$G!"FI$_=P$7$?7k2L$,;R%W%m%;%9$+$i$N=PNO$H0lCW$9$k$+e(B
e$B$I$&$+3NG’$9$k$H$$$&$3$H$G!#e(B
高野ã§ã™ã€‚
Yukihiro M. ã•ã‚“ã¯æ›¸ãã¾ã—ãŸ:
|テストã®æ„図ãŒã‚ã‹ã‚‰ãªã‹ã£ãŸã®ã§ã™ãŒã€ã“ã‚Œã¯ãƒã‚°ã‹ã—ら。
ã“ã‚Œã¯ã“ã‚Œã§ã„ã„ã‚“ã˜ã‚ƒãªã„ã§ã™ã‹ã。popenã§"-"を指定ã™ã‚‹ã¨å
プãƒã‚»ã‚¹ã§ã¯ioã«nilãŒæ¸¡ã‚‹ã®ã§foooを出力ã—ã€è¦ªãƒ—ãƒã‚»ã‚¹ã§ã¯io
ãŒæ¸¡ã‚‹ã®ã§ã€èªã¿å‡ºã—ãŸçµæžœãŒåプãƒã‚»ã‚¹ã‹ã‚‰ã®å‡ºåŠ›ã¨ä¸€è‡´ã™ã‚‹ã‹
ã©ã†ã‹ç¢ºèªã™ã‚‹ã¨ã„ã†ã“ã¨ã§ã€‚
ã†ãŠã€‚ãŠæ¥ãšã‹ã—ã„ã“ã¨ã«ãƒ¡ã‚½ãƒƒãƒ‰åã‹ã‚‰æŒ™å‹•ã‚’予想ã—ã¦ã¾ã›ã‚“ã§ã—ãŸã€‚
"-"ã¨ã¯catã¿ãŸã„ãªå‹•ä½œã—ãã†ã ãªã€ã¨å±€æ‰€çš„ã«èªã‚“ã§ã„ã¾ã—ãŸã€‚
ドã‚ュメントを見るã¨ã“ã®ä½¿ã„æ–¹ãŒæ£ã—ã„よã†ã§ã™ã€‚→(ã±ã£ã¡
テストも通るã“ã¨ã‚’確èªã—ã¾ã—ãŸã€‚
getsãŒSTDINを明示的ã«æŒ‡å®šã—ãªã„ã¨èªã‚“ã§ãã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚
åŽŸå› ã¯ãƒœã‚¯ã«ã¯ã‚ã‹ã‚Šã¾ã›ã‚“。
In article [email protected],
TAKANO Mitsuhiro [email protected] writes:
e$B%I%-%e%a%s%H$r8+$k$H$3$N;H$$J}$,@5$7$$$h$&$G$9!#"*!J$Q$C$Ae(B
e$B%F%9%H$bDL$k$3$H$r3NG’$7$^$7$?!#e(B
e$B$b$H$N%F%9%H$O$I$N$h$&$K@5$7$/$J$$$s$G$7$g$&$+e(B?
getse$B$,e(BSTDINe$B$rL@<(E*$K;XDj$7$J$$$HFI$s$G$/$l$^$;$s$G$7$?!#e(B
e$B860x$O%%/$K$O$o$+$j$^$;$s!#e(B
e$B$=$&$$$&LdBj$,$“$k$J$i!”%F%9%H$O<:GT$9$k$N$,@5$7$$$N$G$Oe(B?
e$B$J$+$@$G$9!#e(B
At Wed, 8 Oct 2008 11:54:45 +0900,
TAKANO Mitsuhiro wrote in [ruby-dev:36680]:
e$B%I%-%e%a%s%H$r8+$k$H$3$N;H$$J}$,@5$7$$$h$&$G$9!#"*!J$Q$C$Ae(B
e$B%F%9%H$bDL$k$3$H$r3NG’$7$^$7$?!#e(B
r+e$B$G$N%F%9%H$b$=$l$O$=$l$G$"$C$F$$$$$H;W$$$^$9$,!"8=>u$N%F%9%H$,e(B
e$BDL$i$J$$$H$$$&$N$O%P%0$G$9!#e(B
getse$B$,e(BSTDINe$B$rL@<(E*$K;XDj$7$J$$$HFI$s$G$/$l$^$;$s$G$7$?!#e(B
e$B860x$O%%/$K$O$o$+$j$^$;$s!#e(B
ARGVe$B$,;D$C$F$?$j$H$+!#e(B
高野ã§ã™ã€‚
r+ã§ã®ãƒ†ã‚¹ãƒˆã‚‚ãã‚Œã¯ãã‚Œã§ã‚ã£ã¦ã„ã„ã¨æ€ã„ã¾ã™ãŒã€ç¾çŠ¶ã®ãƒ†ã‚¹ãƒˆãŒ
通らãªã„ã¨ã„ã†ã®ã¯ãƒã‚°ã§ã™ã€‚
ãªã‚‹ã»ã©ã€‚確ã‹ã«ãã†ã§ã—ãŸã€‚ç¾çŠ¶ã®ãƒ†ã‚¹ãƒˆã‚’テストã‹ã‚‰åˆ‡ã‚Šé›¢ã—ã¦å®Ÿè¡Œã—ã¦ã‚‚
期待通りã«å‹•ãã¾ã—ãŸã€‚最åˆã«ãƒ†ã‚¹ãƒˆã®ç’°å¢ƒã§ã¯ãªãコードを疑ã£ã¦ã—ã¾ã£ãŸãŸã‚ã€
ドã‚ュメントをèªã‚“ã§ãã—ゃãã—ゃã„ã˜ã£ã¦ã—ã¾ã„ã¾ã—ãŸã€‚
ã”ã‚ã‚“ãªã•ã„。
getsãŒSTDINを明示的ã«æŒ‡å®šã—ãªã„ã¨èªã‚“ã§ãã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚
åŽŸå› ã¯ãƒœã‚¯ã«ã¯ã‚ã‹ã‚Šã¾ã›ã‚“。
ARGVãŒæ®‹ã£ã¦ãŸã‚Šã¨ã‹
起動直後ã®ç’°å¢ƒã§ã¯ gets ãŒSTDINã‚’ç´ ç›´ã«èªã¿å‡ºã—ã¦ã„るよã†ãªã®ã§ã™ãŒã€
テストã®ç’°å¢ƒã§ã¯æœ€å¾Œã¾ã§åˆ°é”ã—ãŸARGFã‹ã‚‰èªã¿å‡ºã—ã¦ã„ã‚‹ã®ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
nilãŒè¿”å´ã•ã‚Œã¦ã¾ã—ãŸã€‚
å…ƒã®ã‚³ãƒ¼ãƒ‰ã§STDINã«putsã—ãŸå ´åˆã‚‚パスã—ã¦ã„ã¾ã™ã€‚
putsã‚„getsãŒæ¨™æº–ã¨ã‹ç•°ãªã‚‹ã‚‚ã®ã«ç¹‹ãŒã‚‹ã‚ˆã†ãªä»•çµ„ã¿ãŒã‚ã‚‹ã®ã‹ã—ら?
ã¨æ€ã£ã¦ã„ã‚‹ã®ã§ã™ãŒã€ã‚ˆãã‚ã‹ã‚Šã¾ã›ã‚“。
e$B9bLn$G$9!#e(B
e$B%I%-%e%a%s%H$r8+$k$H$3$N;H$$J}$,@5$7$$$h$&$G$9!#"*!J$Q$C$Ae(B
e$B%F%9%H$bDL$k$3$H$r3NG’$7$^$7$?!#e(B
e$B$b$H$N%F%9%H$O$I$N$h$&$K@5$7$/$J$$$s$G$7$g$&$+e(B?
ioe$B$N%$%s%9%?%s%9$Ne(Bputse$B$r8F$s$G$J$$ItJ,$G$9!#e(B
e$B%I%-%e%a%s%H$r$_$F!"AH$9~$$Ne(Bputse$B$G$O$J$/!"e(Bioe$B$Ne(Bputse$B$r;H$&$3$H$Ge(B
e$B?F$N%W%m%;%9$GI8=`F~=PNO$r07$($k$H;W$$$^$7$?!#e(B
http://www.ruby-lang.org/ja/man/html/IO.html
getse$B$,e(BSTDINe$B$rL@<(E*$K;XDj$7$J$$$HFI$s$G$/$l$^$;$s$G$7$?!#e(B
e$B860x$O%%/$K$O$o$+$j$^$;$s!#e(B
e$B$=$&$$$&LdBj$,$“$k$J$i!”%F%9%H$O<:GT$9$k$N$,@5$7$$$N$G$Oe(B?
e$B3N$+$K!"%F%9%H4D6-$+$i@Z$jN%$7$?$H$-$K$Oe(BSTDINe$B$r;XDj$;$:$H$b;R%W%m%;%9$Ne(B
e$BCM$r$-$A$s$H=&$C$F$/$k$N$G!“e(BSTDINe$B$N5-=R$O9T$o$J$o$:!”<:GT$9$k$N$,e(B
e$B@5$7$$$N$+$b$7$l$^$;$s!#e(B
e$B%F%9%H4D6-$N%P%0$H$$$&$3$H$K$J$k$s$G$7$g$&$+!#$o$+$j$^$;$s$G$7$?!#e(B
e$B9bLn$G$9!#e(B
e$B5/F0D>8e$N4D6-$G$Oe(B gets e$B$,e(BSTDINe$B$rAGD>$KFI$=P$7$F$$$k$h$&$J$N$G$9$,!"e(B
e$B%F%9%H$N4D6-$G$O:G8e$^$GE~C#$7$?e(BARGFe$B$+$iFI$=P$7$F$$$k$N$+$b$7$l$^$;$s!#e(B
nile$B$,JV5Q$5$l$F$^$7$?!#e(B
e$B$=$N%F%9%H$Ke(B gets e$B$O;H$C$F$J$$$H;W$&$s$G$9$,!"$J$s$NOC$r$7$Fe(B
e$B$$$^$9$+e(B?
e$B%j%U%!%l%s%9$K:$C$F$$$?%3!<%I$r%F%9%H4D6-$KF~$l$F$$?e(B
[ruby-dev:36680]
e$B$HOC$,:.$6$C$F$7$^$$$^$7$?!#$9$$^$;$s!#e(B
e$B$&$&!<$`!#e(B
e$B$H$J$k$H!"e(Bputse$B$N%G%U%)%k%H$N=PNO@he(B $> e$B$,e(B
STDOUTe$B$G$J$$$H$3$m$K$J$C$F$$$ke(B
e$B$N$+$J!)e(B
e$B$D$$$G$K@h$[$I$NJ8>O$K4V0c$$$,$"$j$^$7$?$N$G!"D{@5$5$;$F$/$@$5$$!#e(B
- e$B85$N%3!<%I$Ge(BSTDINe$B$Ke(Bputse$B$7$?>l9g$b%Q%9$7$F$$$^$9!#e(B
- e$B85$N%3!<%I$Ge(BSTDOUTe$B$Ke(Bputse$B$7$?>l9g$b%Q%9$7$F$$$^$9!#e(B
In article [email protected],
TAKANO Mitsuhiro [email protected] writes:
e$B5/F0D>8e$N4D6-$G$Oe(B gets e$B$,e(BSTDINe$B$rAGD>$KFI$=P$7$F$$$k$h$&$J$N$G$9$,!"e(B
e$B%F%9%H$N4D6-$G$O:G8e$^$GE~C#$7$?e(BARGFe$B$+$iFI$=P$7$F$$$k$N$+$b$7$l$^$;$s!#e(B
nile$B$,JV5Q$5$l$F$^$7$?!#e(B
e$B$=$N%F%9%H$Ke(B gets e$B$O;H$C$F$J$$$H;W$&$s$G$9$,!"$J$s$NOC$r$7$Fe(B
e$B$$$^$9$+e(B?
ã“ã‚“ã°ã‚“ã¯ãƒ¼ï¼ï¼ï¼‘ï¼
高野ã§ã™ã€‚
起動直後ã®ç’°å¢ƒã§ã¯ gets ãŒSTDINã‚’ç´ ç›´ã«èªã¿å‡ºã—ã¦ã„るよã†ãªã®ã§ã™ãŒã€
テストã®ç’°å¢ƒã§ã¯æœ€å¾Œã¾ã§åˆ°é”ã—ãŸARGFã‹ã‚‰èªã¿å‡ºã—ã¦ã„ã‚‹ã®ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
nilãŒè¿”å´ã•ã‚Œã¦ã¾ã—ãŸã€‚
å…ƒã®ã‚³ãƒ¼ãƒ‰ã§STDINã«putsã—ãŸå ´åˆã‚‚パスã—ã¦ã„ã¾ã™ã€‚
putsã‚„getsãŒæ¨™æº–ã¨ã‹ç•°ãªã‚‹ã‚‚ã®ã«ç¹‹ãŒã‚‹ã‚ˆã†ãªä»•çµ„ã¿ãŒã‚ã‚‹ã®ã‹ã—ら?
ã¨æ€ã£ã¦ã„ã‚‹ã®ã§ã™ãŒã€ã‚ˆãã‚ã‹ã‚Šã¾ã›ã‚“。
test-allã®ã¨ãã®ã‚¤ãƒ³ã‚¿ãƒ—リンタã®ç’°å¢ƒãŒã‚ˆãã‚ã‹ã‚‰ãªã„ã®ã§ã€åˆ¥ã®ãƒ—ãƒã‚»ã‚¹ã§
ã•ã‚‰ã«forkã™ã‚‹ãƒ‘ッãƒã‚’書ã„ã¦ã¿ã¾ã—ãŸã€‚
ã©ã†ã‚„らæ„図ã©ãŠã‚Šã®æŒ™å‹•ã‚’示ã—ã¦ã„るよã†ã§ã™ã€‚
テスト環境ã®ãƒã‚°ã¯ã¨ã‚Œã¦ã„ãªã„ã‘ã©ã€ãƒ†ã‚¹ãƒˆã‚±ãƒ¼ã‚¹ã¨ã—ã¦ã®ãƒã‚°ã¯ãªããªã£
ãŸã€ã‹ã—ら?
e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B
In message “Re: [ruby-dev:36879] Re: test_process.rb”
on Thu, 23 Oct 2008 17:09:54 +0900, TAKANO Mitsuhiro
[email protected] writes:
|test-alle$B$N$H$-$N%$%s%?%W%j%s%?$N4D6-$,$h$/$o$+$i$J$$$N$G!“JL$N%W%m%;%9$Ge(B
|e$B$5$i$Ke(Bforke$B$9$k%Q%C%A$r=q$$$F$_$^$7$?!#e(B
|e$B$I$&$d$i0U?^$I$*$j$N5sF0$r<($7$F$$$k$h$&$G$9!#e(B
|
|# e$B%F%9%H4D6-$N%P%0$O$H$l$F$$$J$$$1$I!”%F%9%H%1!<%9$H$7$F$N%P%0$O$J$/$J$Ce(B
|e$B$?!"$+$7$i!)e(B
e$BMW$9$k$K$3$N%Q%C%A$rEv$F$l$Pe(BOKe$B$H$$$&$3$H$G$7$g$&$+!#e(B
e$B@>;3OB9-$G$9!#e(B
At Thu, 23 Oct 2008 17:24:33 +0900,
Yukihiro M. wrote:
|test-alle$B$N$H$-$N%$%s%?%W%j%s%?$N4D6-$,$h$/$o$+$i$J$$$N$G!“JL$N%W%m%;%9$Ge(B
|e$B$5$i$Ke(Bforke$B$9$k%Q%C%A$r=q$$$F$_$^$7$?!#e(B
|e$B$I$&$d$i0U?^$I$*$j$N5sF0$r<($7$F$$$k$h$&$G$9!#e(B
|
|# e$B%F%9%H4D6-$N%P%0$O$H$l$F$$$J$$$1$I!”%F%9%H%1!<%9$H$7$F$N%P%0$O$J$/$J$Ce(B
|e$B$?!"$+$7$i!)e(B
e$BMW$9$k$K$3$N%Q%C%A$rEv$F$l$Pe(BOKe$B$H$$$&$3$H$G$7$g$&$+!#e(B
e$B0JA0e(BIRCe$B$Ge(B[ruby-core:19373]e$B$GD>$k$H$$$&$h$&$JOC$,$"$C$?$H;W$&$N$G$9$,!"e(B
e$B$I$&$G$7$g$&$+!#e(B
e$B$*$O$h$&$4$6$$$^$9!*e(B
e$B9bLn$G$9!#e(B
Kazuhiro NISHIYAMA e$B$5$s$O=q$-$^$7$?e(B:
e$B0JA0e(BIRCe$B$Ge(B[ruby-core:19373]e$B$GD>$k$H$$$&$h$&$JOC$,$"$C$?$H;W$&$N$G$9$,!"e(B
e$B$I$&$G$7$g$&$+!#e(B
e$B$?$7$+$Ke(B[ruby-core:19373]e$B$GD>$k$3$H$r3NG’$7$^$7$?!<!#e(B
e$BB>$KF1MM$NLdBj$,5/$3$j$&$k$3$H$b9M$(!"e(B[ruby-core:19373]e$B$r<h$j9~$s$@J}$,e(B
e$B$h$$$N$+$b$7$l$^$;$s!#e(B