# Shadowing outer local variable

**URL:** <https://www.ruby-forum.com/t/shadowing-outer-local-variable/129792>\
**Category:** Development\
**Created:** [February 21, 2008, 4:47pm UTC](https://www.ruby-forum.com/t/shadowing-outer-local-variable/129792 "2008-02-21T16:47:20Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [February 21, 2008, 4:47pm UTC](https://www.ruby-forum.com/t/shadowing-outer-local-variable/129792/1 "2008-02-21T16:47:20Z")

</div>

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

e$B7Y9p!Ve(Bshadowing outer local  
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$BA1$70-$7$OJL$H$7$FF1$8JQ?tL\>$r;H$&$N$Oe(BLispe$B$d#C8@8l$G$bIaDL$K9T$o$l$F$$$^$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));  
vtable\_add(lvtbl-\>vars, name);  
}  
}

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [February 22, 2008, 1:27am UTC](https://www.ruby-forum.com/t/shadowing-outer-local-variable/129792/2 "2008-02-22T01:27:29Z")

</div>

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, removed\_email\_address@domain.invalid writes:

|e$B7Y9p!Ve(Bshadowing outer local variablee$B!W$O$J$/$9$Y$-$@$H;W$$$^$9!#e(B

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$BA1$70-$7$OJL$H$7$FF1$8JQ?tL\>$r;H$&$N$Oe(BLispe$B$d#C8@8l$G$bIaDL$K9T$o$l$F$$$^$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 /:|)
```
