mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
6b35c34c68
with inheritance. [fix GH-1227] Patch by @adrfer * lib/irb/*: ditto. * lib/prime.rb: ditto. * lib/shell/builtin-command.rb: ditto. * object.c: ditto. * sample/*.rb: ditto. * test/-ext-/method/test_arity.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
40 lines
421 B
Ruby
40 lines
421 B
Ruby
# method access permission
|
|
# output:
|
|
# foobar
|
|
# Foo
|
|
|
|
class Foo
|
|
public :printf
|
|
def baz
|
|
print "baz\n"
|
|
end
|
|
private :baz
|
|
|
|
def quux
|
|
print "in QUUX "
|
|
baz()
|
|
end
|
|
end
|
|
|
|
def foobar
|
|
print "foobar\n"
|
|
end
|
|
|
|
f = Foo.new
|
|
#Foo.private :printf
|
|
class Foo # redefines foobar's scope
|
|
public :foobar
|
|
end
|
|
f.foobar
|
|
f.printf "%s\n", Foo
|
|
|
|
f.quux
|
|
|
|
class Bar < Foo
|
|
def quux
|
|
super
|
|
baz()
|
|
end
|
|
end
|
|
|
|
Bar.new.quux
|