e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B
e$B$A$g$C$H9M$($?$s$G$9$,!"$^$@G<F@$G$-$k7kO@$,=P$F$$$^$;$s!#e(B
In message “Re: [ruby-dev:30382] Re: class local instance variable”
on Sun, 18 Feb 2007 12:23:18 +0900, “Makoto Inada”
[email protected] writes:
|> e$B$G$b!“$3$3$G$Oe(BMeronge$B%/%i%9$N%m!<%+%k%$%s%9%?%s%9JQ?t$K%”%/%;%9$G$-$k$H$$$&$N$,0lHLE*$J4|BT$J$s$G$7$g$&$+!#e(B
|
|e$B;d$O$=$&4|BT$7$^$9!#%W%m%0%i%$r=q$$$F$$$Fe(B instance_eval |e$B$r;H$&$H$-$OBgDq!"4{$KB8:_$9$k%*%V%8%'%/%H$rD>@\A
:ne(B/e$B;2>H$9$k$D$b$j$G=q$$$F$$$k$N$G!"e(B
|
|1. e$BFC0[%/%i%9$NB8:_$r!J$?$H$(CN$C$F$$$F$b!K0U<1$7$F$$$J$$!“e(B
|2. e$B$=$N%*%V%8%'%/%H$N%$%s%9%?%s%9JQ?t$K$O$9$Y$F%”%/%;%9$G$-$k$H;W$C$F$7$^$&!"e(B
|
|e$B$H$$$&$U$&$K9M$($F$$$^$9!#e(B
e$B$^$:!“e(B1e$B$K$D$$$F$G$9$,!“e(Binstance_evale$B$G$N%?!<%2%C%H$H$J$k%/%ie(B
e$B%9$,FC0[%/%i%9$G$J$$$H$^$:$$6ILL$O3N$+$K$”$j$^$9!#$?$H$($Pe(B
instance_evale$B$NCf$G%a%=%C%IDj5A$r9T$C$?>l9g!”$d$O$j!"$=$N%e(B
e$B%V%8%'%/%H$N%/%i%9$K%a%=%C%I$,Dj5A$5$l$k$N$G$O$J$/!"$=$N%%Ve(B
e$B%8%'%/%H$KFC0[%a%=%C%I$,Dj5A$5$l$k$Y$-$G$7$g$&!#e(B
e$B$G!“%/%i%9%m!<%+%k%$%s%9%?%s%9JQ?t$NBP>]$,$I$&$”$k$Y$-$+$H$$e(B
e$B$&$N$O!"8=;~E@$G$O;d$K$O$h$/$o$+$j$^$;$s!#e(B
e$B$H$$$&$N$b!“0pED$5$s$N4|BT$NA0Ds$H$J$k!V$=$N%%V%8%'%/%H$N%$e(B
e$B%s%9%?%s%9JQ?t$K$O$9$Y$F%“%/%;%9$G$-$k!W$H$$$&2>Dj$O!”$=$l$=e(B
e$B$N$b$N$,%“%/%;%9$G$-$kHO0O$r8BDj$9$ke(B(e$B$N$G!“L>>N=EJ#$,$”$C$Fe(B
e$B$bLdBj$K$J$i$J$$e(B)e$B%/%i%9%m!<%+%k%$%s%9%?%s%9JQ?t$NB8:$HL7=be(B
e$B$9$k$+$i$G$9!#$=$l$>$l$N%a%=%C%I$O$=$N=jB0$9$k%/%i%9$H$$$&$be(B
e$B$N$,B8:$7$F$$$F!”$=$l$r%/%i%9%m!<%+%k%$%s%9%?%s%9JQ?t$N=jB0e(B
e$B@h$H$7$FLdBj$J$$$N$G$9$,!“e(Binstance_evale$B$G$N%/%i%9%m!<%+%kJQe(B
e$B?t$N=jB0@h$r!”$=$N%%V%8%'%/%H$NFC0[%/%i%9$K$9$k$N$+!”$=$N%*e(B
e$B%V%8%'%/%H$N%/%i%9$K$9$k$N$+$OG:$^$7$$$H$3$m$G$9!#e(B
instance_evale$B$Ne(B(e$B%/%i%9%m!<%+%k%$%s%9%?%s%9JQ?t$Ne(B)e$B%?!<%2%C%He(B
e$B$r!“$=$N%*%V%8%'%/%H$N%/%i%9$K$9$k$N$Oe(B(e$B$d$d<BAu$,LLE]$J$b$Ne(B
e$B$Ne(B)e$BIT2DG=$G$O$J$$$N$G$9$,!”$=$l$K$I$l$@$10UL#$,$"$k$N$+$h$/e(B
e$B$o$+$i$J$$$H8@$&$N$,@5D>$J$H$3$m$G$9!#e(B
e$B0J2<$N3F2U=j$G$N%/%i%9%m!<%+%k%$%s%9%?%s%9JQ?t$O$I$N%/%i%9$Ke(B
e$B=jB0$9$Y$-$@$H;W$$$^$9$+!)e(B
class Foo
def foo
@_foo # (1)
end
def self.foo_c1
@_foo # (2)
end
end
class <<Foo
def foo_c2
@_foo # (3)
end
end
def Foo.foo_c3
@_foo # (4)
end
foo = Foo.new
def foo.foo_i1
@_foo # (5)
end
class <<foo
def.foo_i2
@_foo # (6)
end
end
foo.instance_eval {
def foo_i3
@_foo # (7)
end
}
e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)