RbConfig.rubybin

ruby e$B%3%^%s%I$N%Q%9L>$rJV$9e(B RbConfig.rubybin e$B$H$$$&%a%=%C%Ie(B
e$B$rMQ0U$9$k$N$O$I$&$G$7$g$&$+!#e(B

e$B8=:_e(B ruby e$B%3%^%s%I$N%Q%9L>[email protected]$k$N$K$O!"e(B

File.join(
  RbConfig::CONFIG["bindir"],
  RbConfig::CONFIG["ruby_install_name"] + RbConfig::CONFIG["EXEEXT"]
)

e$B$H5-=R$9$kI,MW$,$"$j$^$9!#e(B

e$B$3$l$O$H$F$b3P$($F$$$i$l$J$$$N$G!"e(B(e$B$=$7$Fe(B EXEEXT
e$B$O$$$+$K$be(B
e$BK:$l$=$&$J$N$Ge(B) e$B$R$H$D$N%a%=%C%I$GDs6!$7$F$*$/$N$,$$$$$s$8$ce(B
e$B$J$$$G$7$g$&$+!#e(B

e$B$J$*!"$3$l$,;H$o$l$k%1!<%9$Oe(B ruby e$B$NG[I[$NCf$G>/$J$/$H$be(B

lib/webrick/httpservlet/cgihandler.rb
benchmark/report.rb
benchmark/runc.rb
test/ruby/envutil.rb
tool/eval.rb

e$B$,$"$j$^$9!#e(B

% svn diff --diff-cmd diff -x ‘-u -p’
Index: tool/mkconfig.rb

— tool/mkconfig.rb (revision 25882)
+++ tool/mkconfig.rb (working copy)
@@ -201,6 +201,14 @@ print <<EOS
CONFIG.each_value do |val|
RbConfig::expand(val)
end
+

  • returns the absolute pathname of the ruby command.

  • def RbConfig.rubybin
  • File.join(
  •  RbConfig::CONFIG["bindir"],
    
  •  RbConfig::CONFIG["ruby_install_name"] + 
    

RbConfig::CONFIG[“EXEEXT”]

  • )

  • end
    end
    Config = RbConfig # compatibility for ruby-1.8.4 and older.
    CROSS_COMPILING = nil unless defined? CROSS_COMPILING
    Index: lib/webrick/httpservlet/cgihandler.rb
    ===================================================================
    — lib/webrick/httpservlet/cgihandler.rb (revision 25882)
    +++ lib/webrick/httpservlet/cgihandler.rb (working copy)
    @@ -17,9 +17,7 @@ module WEBrick
    module HTTPServlet

    class CGIHandler < AbstractServlet

  •  Ruby = File::join(RbConfig::CONFIG['bindir'],
    
  •                    RbConfig::CONFIG['ruby_install_name'])
    
  •  Ruby << RbConfig::CONFIG['EXEEXT']
    
  •  Ruby = RbConfig.rubybin
     CGIRunner = "\"#{Ruby}\" 
    

“#{WEBrick::Config::LIBDIR}/httpservlet/cgi_runner.rb”"

   def initialize(server, name)

Index: benchmark/report.rb

— benchmark/report.rb (revision 25882)
+++ benchmark/report.rb (working copy)
@@ -24,9 +24,7 @@ def exec_command type, file, w
end

def benchmark cmd

  • rubybin = ENV[‘RUBY’] || File.join(
  • RbConfig::CONFIG[“bindir”],
  • RbConfig::CONFIG[“ruby_install_name”] + RbConfig::CONFIG[“EXEEXT”])
  • rubybin = ENV[‘RUBY’] || RbConfig.rubybin

    IO.popen(rubybin, ‘r+’){|io|
    io.write cmd
    Index: benchmark/runc.rb
    ===================================================================
    — benchmark/runc.rb (revision 25882)
    +++ benchmark/runc.rb (working copy)
    @@ -5,9 +5,7 @@
    require ‘benchmark’
    require ‘rbconfig’

-$rubybin = ENV[‘RUBY’] || File.join(

  • RbConfig::CONFIG[“bindir”],
  • RbConfig::CONFIG[“ruby_install_name”] + RbConfig::CONFIG[“EXEEXT”])
    +$rubybin = ENV[‘RUBY’] || RbConfig.rubybin

def runfile file
puts file
Index: tool/eval.rb

— tool/eval.rb (revision 25882)
+++ tool/eval.rb (working copy)
@@ -3,9 +3,7 @@ require ‘rbconfig’
require ‘fileutils’
require ‘pp’

-Ruby = ENV[‘RUBY’] ||

  • File.join(RbConfig::CONFIG[“bindir”],
  •        RbConfig::CONFIG["ruby_install_name"] + 
    

RbConfig::CONFIG[“EXEEXT”])
+Ruby = ENV[‘RUBY’] || RbConfig.rubybin

OPTIONS = %w{
Index: test/ruby/envutil.rb

— test/ruby/envutil.rb (revision 25882)
+++ test/ruby/envutil.rb (working copy)
@@ -22,10 +22,7 @@ module EnvUtil
end
begin
require “rbconfig”

  •  File.join(
    
  •    RbConfig::CONFIG["bindir"],
    
  • RbConfig::CONFIG[“ruby_install_name”] + RbConfig::CONFIG[“EXEEXT”]
  •  )
    
  •  RbConfig.rubybin
    
    rescue LoadError
    “ruby”
    end

e$B?\F#$G$9!#e(B

In [email protected]
“[ruby-dev:39755] RbConfig.rubybin” on Mon, 23 Nov 2009 12:23:15
+0900,
Tanaka A. [email protected] wrote:

ruby e$B%3%^%s%I$N%Q%9L>$rJV$9e(B RbConfig.rubybin e$B$H$$$&%a%=%C%Ie(B
e$B$rMQ0U$9$k$N$O$I$&$G$7$g$&$+!#e(B

e$B;[email protected]$G$9!#e(B
[email protected]!"%a%=%C%IL>$Oe(BRbConfig.rubye$B$NJ}$,$h$$5$$,$7$^$9!#e(B

In article [email protected],
Kouhei S. [email protected] writes:

[email protected]!"%a%=%C%IL>$Oe(BRbConfig.rubye$B$NJ}$,$h$$5$$,$7$^$9!#e(B

e$B$A$g$C$H%A%c%l%s%8$J5$$,$7$^$9$,!"$=$l$b$$$$$+$bCN$l$^$;$s$M$’!#e(B

e$B$=$&$9$k$H$9$k$H!"$3$&$G$7$g$&$+!#e(B

e$BH?BP$KEjI<$7$^$9!#e(B
“ruby” e$B$Ne(B4e$BJ8;z$+$i%Q%9L>[email protected]$HN`?d$G$-$k5$$,$7$J$$$+$i$G$9!#e(B

e$B$=$b$=$b!"e(B4e$BJ8;z$K$^$G=L$a$J$$$H$$$1$J$$$[$IIQHK$K;H$o$l$k$b$N$+5?Ld$G$9!#e(B
ruby_interpreter_path_super_galactica_magnum
e$B$H$+$d$?$iD9$$L>[email protected]$H$7$F$b!"e(B
APIe$B%j%U%!%l%s%90lH/$G0z$1$k$J$iC/$b$3$^$i$J$$$h$&$J!#e(B

e$B?\F#$G$9!#e(B

In [email protected]
“[ruby-dev:39815] Re: RbConfig.rubybin” on Mon, 30 Nov 2009 19:28:39
+0900,
KOSAKI Motohiro [email protected] wrote:

[email protected]!"%a%=%C%IL>$Oe(BRbConfig.rubye$B$NJ}$,$h$$5$$,$7$^$9!#e(B

e$B$A$g$C$H%A%c%l%s%8$J5$$,$7$^$9$,!"$=$l$b$$$$$+$bCN$l$^$;$s$M$’!#e(B

e$B$=$&$9$k$H$9$k$H!"$3$&$G$7$g$&$+!#e(B

e$BH?BP$KEjI<$7$^$9!#e(B
“ruby” e$B$Ne(B4e$BJ8;z$+$i%Q%9L>[email protected]$HN`?d$G$-$k5$$,$7$J$$$+$i$G$9!#e(B

e$B$=$b$=$b!"e(B4e$BJ8;z$K$^$G=L$a$J$$$H$$$1$J$$$[$IIQHK$K;H$o$l$k$b$N$+5?Ld$G$9!#e(B

e$B;d$,e(Brubybine$B$h$je(Brubye$B$NJ}$,$h$$$H;W$&$N$O!"$h$/;H$&$+$iC;$/$7$?e(B
e$B$$$H$$$&M}M3$G$O$J$/$F!"e(Brubye$B$He(Bbine$B$,$/$C$D$$$F$$$?$j!"e(Bbine$B$O%Pe(B
e$B%$%J%j$NN,!)$H$+$H$$$&M}M3$Ge(Brubybine$B$,$o$+$j$E$i$+$C$?$+$i$Ge(B
e$B$9!#e(B

ruby_pathe$B$H$+$G$"$l$P!"$=$l$G$b$h$$$H;W$C$F$$$^$9!#e(B

e$B<XB-$G$9$,!"%Q%9L>$rI=$9L>A0$H$7$F%3%^%s%I$HF1$8L>A0$r;H$&$Ne(B
e$B$O!"$h$/$"$k%Q%?!<%[email protected]$H;W$C$F$$$^$7$?!#e(BRubye$B$Ne(Bconfiguree$B$Ge(B
e$B$be(B–with-baserubye$B$H$$$&%*%W%7%g%s$,$"$j$^$9$,!"e(B

–with-baseruby=RUBY use RUBY as baseruby; RUBY is the pathname of
ruby

e$B$H$$$&$h$&$K!"%3%^%s%I$N%Q%9L>$NJQ?tL>$H$7$Fe(BRUBYe$B$r;H$C$F$$$^e(B
e$B$9!#e(B

ruby_interpreter_path_super_galactica_magnum e$B$H$+$d$?$iD9$$L>[email protected]$H$7$F$b!"e(B
APIe$B%j%U%!%l%s%90lH/$G0z$1$k$J$iC/$b$3$^$i$J$$$h$&$J!#e(B

e$BL>A0$r9M$($k$3$H$OD|$a$J$$J}$,$h$$$H;W$&$N$G$9$,!#!#!#e(B

At Mon, 30 Nov 2009 19:28:39 +0900,
KOSAKI Motohiro wrote:

“ruby” の4文字からパス名だと類推できる気がしないからです。
 ENV[‘RUBY’] とも呼応するし、何より「ruby」とハードコードする
代わりに使うものなので推測は容易だと思います。私は賛成です。

In article [email protected],
Kouhei S. [email protected] writes:

[email protected]!"%a%=%C%IL>$Oe(BRbConfig.rubye$B$NJ}$,$h$$5$$,$7$^$9!#e(B

e$B$A$g$C$H%A%c%l%s%8$J5$$,$7$^$9$,!"$=$l$b$$$$$+$bCN$l$^$;$s$M$’!#e(B

e$B$=$&$9$k$H$9$k$H!"$3$&$G$7$g$&$+!#e(B

% svn diff --diff-cmd diff -x ‘-u -p’
Index: lib/webrick/httpservlet/cgihandler.rb

— lib/webrick/httpservlet/cgihandler.rb (revision 25955)
+++ lib/webrick/httpservlet/cgihandler.rb (working copy)
@@ -17,9 +17,7 @@ module WEBrick
module HTTPServlet

 class CGIHandler < AbstractServlet
  •  Ruby = File::join(RbConfig::CONFIG['bindir'],
    
  •                    RbConfig::CONFIG['ruby_install_name'])
    
  •  Ruby << RbConfig::CONFIG['EXEEXT']
    
  •  Ruby = RbConfig.ruby
     CGIRunner = "\"#{Ruby}\" 
    

“#{WEBrick::Config::LIBDIR}/httpservlet/cgi_runner.rb”"

   def initialize(server, name)

Index: benchmark/report.rb

— benchmark/report.rb (revision 25955)
+++ benchmark/report.rb (working copy)
@@ -24,9 +24,7 @@ def exec_command type, file, w
end

def benchmark cmd

  • rubybin = ENV[‘RUBY’] || File.join(
  • RbConfig::CONFIG[“bindir”],
  • RbConfig::CONFIG[“ruby_install_name”] + RbConfig::CONFIG[“EXEEXT”])
  • rubybin = ENV[‘RUBY’] || RbConfig.ruby

    IO.popen(rubybin, ‘r+’){|io|
    io.write cmd
    Index: benchmark/runc.rb
    ===================================================================
    — benchmark/runc.rb (revision 25955)
    +++ benchmark/runc.rb (working copy)
    @@ -5,9 +5,7 @@
    require ‘benchmark’
    require ‘rbconfig’

-$rubybin = ENV[‘RUBY’] || File.join(

  • RbConfig::CONFIG[“bindir”],
  • RbConfig::CONFIG[“ruby_install_name”] + RbConfig::CONFIG[“EXEEXT”])
    +$rubybin = ENV[‘RUBY’] || RbConfig.ruby

def runfile file
puts file
Index: tool/eval.rb

— tool/eval.rb (revision 25955)
+++ tool/eval.rb (working copy)
@@ -3,9 +3,7 @@ require ‘rbconfig’
require ‘fileutils’
require ‘pp’

-Ruby = ENV[‘RUBY’] ||

  • File.join(RbConfig::CONFIG[“bindir”],
  •        RbConfig::CONFIG["ruby_install_name"] + 
    

RbConfig::CONFIG[“EXEEXT”])
+Ruby = ENV[‘RUBY’] || RbConfig.ruby

OPTIONS = %w{
Index: tool/mkconfig.rb

— tool/mkconfig.rb (revision 25955)
+++ tool/mkconfig.rb (working copy)
@@ -201,6 +201,14 @@ print <<EOS
CONFIG.each_value do |val|
RbConfig::expand(val)
end
+

  • returns the absolute pathname of the ruby command.

  • def RbConfig.ruby
  • File.join(
  •  RbConfig::CONFIG["bindir"],
    
  •  RbConfig::CONFIG["ruby_install_name"] + 
    

RbConfig::CONFIG[“EXEEXT”]

  • )
  • end
    end
    Config = RbConfig # compatibility for ruby-1.8.4 and older.
    CROSS_COMPILING = nil unless defined? CROSS_COMPILING
    Index: test/ruby/envutil.rb
    ===================================================================
    — test/ruby/envutil.rb (revision 25955)
    +++ test/ruby/envutil.rb (working copy)
    @@ -22,10 +22,7 @@ module EnvUtil
    end
    begin
    require “rbconfig”
  •  File.join(
    
  •    RbConfig::CONFIG["bindir"],
    
  • RbConfig::CONFIG[“ruby_install_name”] + RbConfig::CONFIG[“EXEEXT”]
  •  )
    
  •  RbConfig.ruby
    
    rescue LoadError
    “ruby”
    end

e$BH?BP$KEjI<$7$^$9!#e(B
“ruby” e$B$Ne(B4e$BJ8;z$+$i%Q%9L>[email protected]$HN`?d$G$-$k5$$,$7$J$$$+$i$G$9!#e(B

e$B!!e(BENV[‘RUBY’] e$B$H$b8F1~$9$k$7!"2?$h$j!Ve(Brubye$B!W$H%O!<%I%3!<%I$9$ke(B
e$BBe$o$j$K;H$&$b$N$J$N$G?dB,[email protected]$H;W$$$^$9!#;d$O;[email protected]$G$9!#e(B

e$B$*$d!"M=A[[email protected]$,!#e(B
e$BKM#1?M$7$+!“0cOB46$r46$8$??M$O$$$J$+$C$?$h$&$J$N$G!”<h$j2<$2$^$9e(B

e$B$=$&$9$k$H$9$k$H!"$3$&$G$7$g$&$+!#e(B

e$BH?BP$KEjI<$7$^$9!#e(B
“ruby” e$B$Ne(B4e$BJ8;z$+$i%Q%9L>[email protected]$HN`?d$G$-$k5$$,$7$J$$$+$i$G$9!#e(B

e$B$=$b$=$b!"e(B4e$BJ8;z$K$^$G=L$a$J$$$H$$$1$J$$$[$IIQHK$K;H$o$l$k$b$N$+5?Ld$G$9!#e(B

e$B;d$,e(Brubybine$B$h$je(Brubye$B$NJ}$,$h$$$H;W$&$N$O!"$h$/;H$&$+$iC;$/$7$?e(B
e$B$$$H$$$&M}M3$G$O$J$/$F!"e(Brubye$B$He(Bbine$B$,$/$C$D$$$F$$$?$j!"e(Bbine$B$O%Pe(B
e$B%$%J%j$NN,!)$H$+$H$$$&M}M3$Ge(Brubybine$B$,$o$+$j$E$i$+$C$?$+$i$Ge(B
e$B$9!#e(B

e$B$"$"!"$J$k$[$I!#$3$l$O$J$C$H$/!#e(B
bine$B$,e(Bexecutablee$B$NN,$H$$$&$N$O!"e(BOSe$B$rD6$($FDLMQ$9$k0lHLE*$JJ82=$G$O$J$$5$$,$7$^$9!#e(B

e$B$H$$$&$h$&$K!"%3%^%s%I$N%Q%9L>$NJQ?tL>$H$7$Fe(BRUBYe$B$r;H$C$F$$$^e(B
e$B$9!#e(B

ruby_interpreter_path_super_galactica_magnum e$B$H$+$d$?$iD9$$L>[email protected]$H$7$F$b!"e(B
APIe$B%j%U%!%l%s%90lH/$G0z$1$k$J$iC/$b$3$^$i$J$$$h$&$J!#e(B

e$BL>A0$r9M$($k$3$H$OD|$a$J$$J}$,$h$$$H;W$&$N$G$9$,!#!#!#e(B

e$B$A$g$C$H!“C&@~$7$F!”$3$3$K$D$J$2$5$;$F$b$i$*$&!#$(!<$H!"0U?^$H$7$F$Oe(B
e$BL>A0$r9M$($k$N$rD|$a$h$&$H$$$C$F$$$k$N$G$O$J$/5U$G$7$?!#e(B

e$BKM$NCf$G$O%a%=%C%IL>$NA1$70-$7$NH=CG4p=$,!"%o%s%i%$%J!<$G;H$o$l$k$h$&$Je(B e$B$b$N$H!"%i%$%V%i%j$G;H$o$l$k$h$&$J$b$N$,0c$$$^$9!#e(B e$B%o%s%i%$%J!<[email protected]$H85$,e(B5e$BJ,:n6H$J$N$G!"%j%U%!%l%s%9%^%K%e%"%kD4$Y$k;~4V$Ge(B e$B!\#5J,$5$l$F$7$^$&[email protected];:@-$,FsG\0-2=!#$J$N$G!"3P$($d$9$$%a%=%C%IL>$,A1!#e(B e$B%i%$%V%i%[email protected]$G$$$&$H!"$b$H$b$H$,#1F|:n6H$J$N$G!\#5J,$O8m:9!"$K2C$($Fe(B e$B8e$+$i2?2s$b%3!<%I$rFI$1)L$K$J$k$N$G!">JN,L>$N%a%=%C%I$H$+$O>-Mh$Ne(B
e$B<+J,$r:$$i$;$k$N$G0-!#e(B

e$B$G!“e(BRubye$B%3%^%s%I$N%Q%9$r%o%s%i%$%J!<$+$iCN$j$?$$%1!<%9$,$”$k$+$He(B
e$B9M$($?;~$K!V$$$d!"$=$s$J$N$,IQHK$KI,[email protected];EMM$K$b$C$H=EBg$J7g4Y$,$"[email protected]$m!We(B
e$B$H;W$C$?$N$G!“[email protected]@E*$JL>A0$N$[$&$,@8;:@-$”$,$k5$$,$9$k$<!"E*$Je(B
e$B;v$r=q$-$^$7$?!#e(B

e$B$J$*!“K\[email protected]$,=P$F$$$k$N$G!”:[email protected]$H$$$&0U?^$G$O$"$j$^$;$s!#e(B

e$BG0$N$?$a!#e(B

e$B?\F#$G$9!#e(B

In [email protected]
“[ruby-dev:39822] Re: RbConfig.rubybin” on Tue, 1 Dec 2009 12:02:23
+0900,
Shugo M. [email protected] wrote:

2009e$BG/e(B11e$B7ne(B30e$BF|e(B21:39 Kouhei S. [email protected]:

e$B;d$,e(Brubybine$B$h$je(Brubye$B$NJ}$,$h$$$H;W$&$N$O!"$h$/;H$&$+$iC;$/$7$?e(B
e$B$$$H$$$&M}M3$G$O$J$/$F!"e(Brubye$B$He(Bbine$B$,$/$C$D$$$F$$$?$j!"e(Bbine$B$O%Pe(B
e$B%$%J%j$NN,!)$H$+$H$$$&M}M3$Ge(Brubybine$B$,$o$+$j$E$i$+$C$?$+$i$Ge(B
e$B$9!#e(B

ruby_pathe$B$H$+$G$"$l$P!"$=$l$G$b$h$$$H;W$C$F$$$^$9!#e(B

[email protected]$He(B$:e$B$HJ6$i$o$7$$5$$,$7$^$9!#e(B

$:e$B$Oe(BLOAD_PATHe$B$J5$$,$9$k$N$GJ6$i$o$7$/$J$$5$$,$7$F$$$^$7$?!#e(B

e$B$?$H$($P!"e([email protected]$H!"e(BRUBYLIBe$B$KAjEv$9$k$b$N$,e(BPYTHONPATH

[email protected]$C$?$j$9$k$h$&$J$N$G!#e(B

e$B$3$N>l9g$Oe(BPythone$B$N=,47$O4X78$J$$$h$&$J5$$,$7$?$j$7$^$9!#e(B
e$B$"$H!"e(BPythone$B$N$3$NL>A0$O$h$/$J$$5$$,$7$^$9!#e(BPythone$B$N%Q%9$8$ce(B
e$B$J$/$F!"e(BPythone$B$N%i%$%V%i%j$N8!:w%Q%9$G$9$h$M!#e(B

[email protected]$HD9$9$.$k$G$7$g$&$+!#e(B

executablee$B$8$c$J$$e(Brubye$B$Ne(Bpathe$B$,$"$k$N$+$,5$$K$J$j$^$9!#e(B
libruby.so?

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

2009e$BG/e(B11e$B7ne(B30e$BF|e(B21:39 Kouhei S. [email protected]:

e$B;d$,e(Brubybine$B$h$je(Brubye$B$NJ}$,$h$$$H;W$&$N$O!"$h$/;H$&$+$iC;$/$7$?e(B
e$B$$$H$$$&M}M3$G$O$J$/$F!"e(Brubye$B$He(Bbine$B$,$/$C$D$$$F$$$?$j!"e(Bbine$B$O%Pe(B
e$B%$%J%j$NN,!)$H$+$H$$$&M}M3$Ge(Brubybine$B$,$o$+$j$E$i$+$C$?$+$i$Ge(B
e$B$9!#e(B

ruby_pathe$B$H$+$G$"$l$P!"$=$l$G$b$h$$$H;W$C$F$$$^$9!#e(B

[email protected]$He(B$:e$B$HJ6$i$o$7$$5$$,$7$^$9!#e(B

e$B$?$H$($P!"e([email protected]$H!"e(BRUBYLIBe$B$KAjEv$9$k$b$N$,e(BPYTHONPATH

[email protected]$C$?$j$9$k$h$&$J$N$G!#e(B

[email protected]$HD9$9$.$k$G$7$g$&$+!#e(B

2009/12/1 Shugo M. [email protected]:

[email protected]$He(B$:e$B$HJ6$i$o$7$$5$$,$7$^$9!#e(B

e$B$?$H$($P!"e([email protected]$H!"e(BRUBYLIBe$B$KAjEv$9$k$b$N$,e(BPYTHONPATH

[email protected]$C$?$j$9$k$h$&$J$N$G!#e(B

[email protected]$HD9$9$.$k$G$7$g$&$+!#e(B

e$B$=$3$^$G$d$k$J$i!"$$$C$=e(Bpath_to_rubye$B$,$$$$$s$8$c$J$$$G$7$g$&$+!#e(B

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

09/12/01 Kouhei S. [email protected]:

ruby_pathe$B$H$+$G$"$l$P!"$=$l$G$b$h$$$H;W$C$F$$$^$9!#e(B

[email protected]$He(B$:e$B$HJ6$i$o$7$$5$$,$7$^$9!#e(B

$:e$B$Oe(BLOAD_PATHe$B$J5$$,$9$k$N$GJ6$i$o$7$/$J$$5$$,$7$F$$$^$7$?!#e(B

e$B$=$&$+$b$7$l$^$;$s!#e(B

e$B$?$H$($P!"e([email protected]$H!"e(BRUBYLIBe$B$KAjEv$9$k$b$N$,e(BPYTHONPATH

[email protected]$C$?$j$9$k$h$&$J$N$G!#e(B

e$B$3$N>l9g$Oe(BPythone$B$N=,47$O4X78$J$$$h$&$J5$$,$7$?$j$7$^$9!#e(B
e$B$"$H!"e(BPythone$B$N$3$NL>A0$O$h$/$J$$5$$,$7$^$9!#e(BPythone$B$N%Q%9$8$ce(B
e$B$J$/$F!"e(BPythone$B$N%i%$%V%i%j$N8!:w%Q%9$G$9$h$M!#e(B

e$B$3$N>l9g$Ne(BPYTHONe$B$OL>A06u4V$r1x$5$J$$e(B
e$B$?$a$N%W%j%U%#%C%/%9$8$c$J$$$G$7$g$&$+!#e(B

e$B$=$&$$$&0UL#$G$ONc$H$7$FITE,@Z$G$7$?$,!#e(B

[email protected]$HD9$9$.$k$G$7$g$&$+!#e(B

executablee$B$8$c$J$$e(Brubye$B$Ne(Bpathe$B$,$"$k$N$+$,5$$K$J$j$^$9!#e(B
libruby.so?

e$B$3$N>l9g$O>iD9$+$b$7$l$J$$$G$9$M!#e(B
e$B$G$Oe(Bruby_pathe$B$K0lI<$H$$$&$3$H$G!#e(B

e$B?\F#$G$9!#e(B

In [email protected]
“[ruby-dev:39829] Re: RbConfig.rubybin” on Wed, 2 Dec 2009 15:11:48
+0900,
Yugui [email protected] wrote:

2009/12/1 Shugo M. [email protected]:

[email protected]$He(B$:e$B$HJ6$i$o$7$$5$$,$7$^$9!#e(B

e$B$?$H$($P!"e([email protected]$H!"e(BRUBYLIBe$B$KAjEv$9$k$b$N$,e(BPYTHONPATH

[email protected]$C$?$j$9$k$h$&$J$N$G!#e(B

[email protected]$HD9$9$.$k$G$7$g$&$+!#e(B

e$B$=$3$^$G$d$k$J$i!"$$$C$=e(Bpath_to_rubye$B$,$$$$$s$8$c$J$$$G$7$g$&$+!#e(B

e$B$=$NL>[email protected]$He(Bpath_to_ruby(XXX)e$B$H$$$&$h$&$K0z?tIU$-$G8F$V%a%=%Ce(B
e$B%I$N$h$&$J5$$,$7$F$7$^$$$^$9!#$I$s$J0z?t$rEO$9$+$O$^$k$GIb$+e(B
e$B$P$J$$$N$G$9$,!"$J$K$+EO$5$J$1$l$P$$$1$J$$46$8$,$7$F$7$^$$$^e(B
e$B$9!#e(B

[email protected]$m$&!#e(B

e$B$=$l$OJL$H$7$F$b!"!Ve(BRubye$B%3%^%s%I$X$N%Q%9!W$G$O$J$/!"!Ve(BRubye$B%3e(B
e$B%^%s%I$N%Q%9!W$,M_$7$$$N$G!“0cOB46$,$”$j$^$9!#e(B

2009e$BG/e(B11e$B7ne(B30e$BF|e(B21:41 Akinori MUSHA [email protected]:

e$B!!e(BENV[‘RUBY’] e$B$H$b8F1~$9$k$7!"2?$h$j!Ve(Brubye$B!W$H%O!<%I%3!<%I$9$ke(B
e$BBe$o$j$K;H$&$b$N$J$N$G?dB,[email protected]$H;W$$$^$9!#;d$O;[email protected]$G$9!#e(B

[email protected]$r$R$H$H$$jFI$D>$7$F$$?$N$G$9$,!“e(B
e$B$”$kL>A0$,@Q6KE
$KNI$$$H$$$&$3$H$r=R$Y$F$$$k$b$N$C$Fe(B
e$B$3$NItJ,$7$+$J$$5$$,$7$^$9$M!#e(B

e$B$[$+$NL>A0$K$O$=$&$$$&@Q6KE*$KNI$$M}M3$O$"$k$+$J$!!)e(B

e$B?\F#$G$9!#e(B

In [email protected]
“[ruby-dev:39826] Re: RbConfig.rubybin” on Wed, 2 Dec 2009 00:11:36
+0900,
Shugo M. [email protected] wrote:

e$B$?$H$($P!"e([email protected]$H!"e(BRUBYLIBe$B$KAjEv$9$k$b$N$,e(BPYTHONPATH

[email protected]$C$?$j$9$k$h$&$J$N$G!#e(B

e$B$3$N>l9g$Oe(BPythone$B$N=,47$O4X78$J$$$h$&$J5$$,$7$?$j$7$^$9!#e(B
e$B$"$H!"e(BPythone$B$N$3$NL>A0$O$h$/$J$$5$$,$7$^$9!#e(BPythone$B$N%Q%9$8$ce(B
e$B$J$/$F!"e(BPythone$B$N%i%$%V%i%j$N8!:w%Q%9$G$9$h$M!#e(B

e$B$3$N>l9g$Ne(BPYTHONe$B$OL>A06u4V$r1x$5$J$$e(B
e$B$?$a$N%W%j%U%#%C%/%9$8$c$J$$$G$7$g$&$+!#e(B

e$B$"$!!"$J$k$[$I!#e(B
e$B$=$l$G$"$l$PM}2r$G$-$^$9!#e(B

2009e$BG/e(B12e$B7ne(B12e$BF|e(B15:49 Tanaka A. [email protected]:

e$B$[$+$NL>A0$K$O$=$&$$$&@Q6KE*$KNI$$M}M3$O$"$k$+$J$!!)e(B

e$B$[$+$NL>A0$KM}M3$,$J$$$J$ie(B RbConfig.ruby e$B$G$9$+$M$’!#e(B

e$B$^$:!“[email protected]$7$N%a!<%k$bNI$/$J$/[email protected]$,e(Bbikeshede$B5$L#$K$J$C$F$7$^$C$?;v$re(B
e$B$*OM$S$7$^$9!#e(B
e$B$3$N5!G=<+BN$O2ACM$,$”[email protected]$H;W$&$N$G!"e(Bakre$B$5$s$NH=CG$G7h$a$FD:$$$Fe(B
e$B$$$$$s$8$c$J$$$G$7$g$&$+!#e(B

e$B$3$N$^$^N.$l$F$7$^$&[email protected]$7$$%Q%C%A!#e(B

2009e$BG/e(B12e$B7ne(B12e$BF|e(B15:49 Tanaka A. [email protected]:

e$B$[$+$NL>A0$K$O$=$&$$$&@Q6KE*$KNI$$M}M3$O$"$k$+$J$!!)e(B

e$B$[$+$NL>A0$KM}M3$,$J$$$J$ie(B RbConfig.ruby e$B$G$9$+$M$’!#e(B

2009e$BG/e(B12e$B7ne(B24e$BF|e(B12:17 KOSAKI Motohiro
[email protected]:

2009e$BG/e(B12e$B7ne(B12e$BF|e(B15:49 Tanaka A. [email protected]:

e$B$[$+$NL>A0$KM}M3$,$J$$$J$ie(B RbConfig.ruby e$B$G$9$+$M$’!#e(B

e$B$^$:!"[email protected]$7$N%a!<%k$bNI$/$J$/[email protected]$,e(Bbikeshede$B5$L#$K$J$C$F$7$^$C$?;v$re(B
e$B$*OM$S$7$^$9!#e(B

bikeshed [email protected]$O?d>)$5$l$k$H$$$&OC$G$9!#e(B
http://www.rubyist.net/~matz/slides/rc2006/

e$B$3$N5!G=<+BN$O2ACM$,$"[email protected]$H;W$&$N$G!"e(Bakre$B$5$s$NH=CG$G7h$a$FD:$$$Fe(B
e$B$$$$$s$8$c$J$$$G$7$g$&$+!#e(B

e$B$=$&$G$9$M!#F~$l$F$_$^$7$?!#e(B