e\$B\$k\$S\$-\$A\$G\$9!#e(B

variablee\$B!W\$O\$J\$/\$9\$Y\$-\$@\$H;W\$\$\$^\$9!#e(B
e\$B\$=\$b\$=\$b860x\$Oe(B1.8e\$B\$^\$G\$N%V%m%C%/0z?t\$N;EMM\$,\$R\$I\$+\$C\$?\$+\$i\$G\$9!#e(B
e\$B7Y9p\$r>C\$9\$K\$Oe(B1.8e\$B\$^\$GF1MM\$?\$H\$(e(B1e\$BJ8\$N%V%m%C%/\$G\$"\$C\$F\$be(B
e\$B%V%m%C%/0z?t\$NL>A0\$rJQ99\$7\$J\$\$\$H\$\$\$1\$J\$/\$J\$j\$^\$9!#e(B
e\$B\$3\$l\$O\$+\$J\$j%9%H%l%9\$,\$?\$^\$j\$^\$9!#e(B

e\$B\$`\$7\$m\$3\$N7Y9p\$Oe(B1.8e\$B\$K\$D\$1\$k\$Y\$-\$G\$9!#e(B

RUBY_VERSION # => “1.9.0”
RUBY_RELEASE_DATE # => “2008-02-20”
a = 1
b = [1,2].map{|a| a*2} # => [2, 4] # !> shadowing outer local
variable - a

(let ((a 1) b)
(setq b (mapcar (lambda (a) (* a 2)) '(1 2)))
(list a b)) ; => (1 (2 4))

diff -u /home/nobackup/compile/ruby19/parse.c.orig
/home/nobackup/compile/ruby19/parse.c
— /home/nobackup/compile/ruby19/parse.c.orig 2008-02-22
00:43:34.000000000 +0900
+++ /home/nobackup/compile/ruby19/parse.c 2008-02-22 00:42:47.000000000
+0900
@@ -12790,7 +12790,6 @@
yyerror(“duplicated argument name”);
}
else if (dvar_defined(name) || local_id(name)) {

• `````` rb_warningS("shadowing outer local variable - %s",
``````

rb_id2name(name));
}
}

e\$B\$^\$D\$b\$He(B e\$B\$f\$-\$R\$m\$G\$9e(B

In message “Re: [ruby-dev:33891] shadowing outer local variable”
on Fri, 22 Feb 2008 00:46:10 +0900, [email protected] writes:

e\$B\$U\$`!#e(B

|e\$B\$=\$b\$=\$b860x\$Oe(B1.8e\$B\$^\$G\$N%V%m%C%/0z?t\$N;EMM\$,\$R\$I\$+\$C\$?\$+\$i\$G\$9!#e(B
|e\$B7Y9p\$r>C\$9\$K\$Oe(B1.8e\$B\$^\$GF1MM\$?\$H\$(e(B1e\$BJ8\$N%V%m%C%/\$G\$"\$C\$F\$be(B
|e\$B%V%m%C%/0z?t\$NL>A0\$rJQ99\$7\$J\$\$\$H\$\$\$1\$J\$/\$J\$j\$^\$9!#e(B
|e\$B\$3\$l\$O\$+\$J\$j%9%H%l%9\$,\$?\$^\$j\$^\$9!#e(B

e\$B\$(!<\$H!"!V\$J\$/\$9\$Y\$-!W\$H\$\$\$&<gD%\$OJ,\$+\$j\$^\$7\$?\$,!"\$=\$NM}M3\$Oe(B
e\$B\$h\$/\$o\$+\$j\$^\$;\$s!#e(BLispe\$B\$de(BCe\$B\$G9T\$o\$l\$F\$\$\$k\$H\$\$\$&\$N\$O\$"\$s\$^\$jM}e(B
e\$BM3\$K\$J\$i\$J\$\$5\$\$,\$7\$^\$9\$7!#e(B

e\$BL>>N\$,=EJ#\$7\$F\$\$\$k\$N\$O0-\$\$%9%?%\$%k\$@\$H;W\$\$\$^\$9\$+\$i!"\$=\$l\$K\$De(B
e\$B\$\$\$F7Y9p\$5\$l\$k\$N\$OEvA3\$G\$O\$J\$\$\$+\$H!#\$=\$l\$r;_\$a\$k\$H\$\$\$&\$+\$i\$Ke(B
e\$B\$O!V\$=\$l\$O\$=\$s\$J\$K0-\$\$%9%?%\$%k\$G\$O\$J\$\$!W\$H\$+!V\$3\$N7Y9p\$O\$3\$se(B
e\$B\$JITMx1W\$,\$"\$k!W\$H\$+\$\$\$&O@M}\$G\$J\$\$\$H6Z\$,DL\$i\$J\$\$\$G\$7\$g\$&!#e(B

|e\$B\$`\$7\$m\$3\$N7Y9p\$Oe(B1.8e\$B\$K\$D\$1\$k\$Y\$-\$G\$9!#e(B

e\$B\$3\$l\$b\$h\$/\$o\$+\$j\$^\$;\$s!#e(B1.9e\$B\$G\$O\$J\$/\$9\$Y\$-\$Ge(B1.8e\$B\$G\$OIU\$1\$k\$Y\$-e(B
e\$B\$H\$\$\$&\$N\$O\$I\$&\$\$\$&\$3\$H\$J\$s\$G\$7\$g\$&\$+!#e(B

``                            e\$B\$^\$D\$b\$He(B e\$B\$f\$-\$R\$me(B /:|)``