diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-03-08 07:03:09 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-03-08 07:03:09 +0000 |
commit | 973dca035ec861c3cbea0faf5e40ccfbcd84bb17 (patch) | |
tree | d7fbdd608eb0698296838406ea964328994e342c /sample | |
parent | 003d0aecc30a939f0712d9f85e2c150e8ccb78da (diff) | |
download | ruby-973dca035ec861c3cbea0faf5e40ccfbcd84bb17.tar.gz ruby-973dca035ec861c3cbea0faf5e40ccfbcd84bb17.tar.xz ruby-973dca035ec861c3cbea0faf5e40ccfbcd84bb17.zip |
* eval.c (cvar_cbase): utility function to find innermost non
singleton cbase.
* eval.c (is_defined): adopt new cvar behavior.
* eval.c (rb_eval): ditto.
* eval.c (assign): ditto.
* class.c (rb_mod_clone): should not call rb_obj_clone(), since
Module does not provide "allocate".
* class.c (rb_singleton_class): should crate new singleton class
if obj is a class or module and attached object is different,
which means metaclass of singleton class is sought.
* time.c (time_s_alloc): now follows allocation framework.
* eval.c (rb_eval): should initialize outer class variables from
methods in singleton class definitions.
* eval.c (assign): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@2169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'sample')
-rw-r--r-- | sample/test.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sample/test.rb b/sample/test.rb index 82b159a7b..1f6b14095 100644 --- a/sample/test.rb +++ b/sample/test.rb @@ -1351,6 +1351,17 @@ atlas = Titans.new test_ok(atlas.ruler0 == "Cronus") test_ok(atlas.ruler3 == "Zeus") +class <<a="a" + def foo=(n) + @@cv=n + end + def foo + @@cv + end +end +a.foo=5 +test_ok(a.foo == 5) + test_check "trace" $x = 1234 $y = 0 |