def foo
end
private :foo
def boo
end
protected :foo
def woo
end
public :woo
: とメソッド名前の間には空白をはさんではいけない。
ちなみに, private としたメソッドを子クラスで再定義すると, 上書きされてしまうので注意が必要。
class Parent
def foo(arg)
print “parent “, arg, “\n”
end
private :foo
def woo
foo(“hello”)
end
end
class Child < Parent
def foo
print “child\n”
end
end
Child.new.woo
# result:
# in `foo’: wrong number of arguments (1 for 0) (ArgumentError)