instance method Module#public

public(*name) -> self[permalink][rdoc][edit]
public(names) -> self

メソッドを public に設定します。

引数なしのときは今後このクラスまたはモジュール定義内で新規に定義されるメソッドをどんな形式でも呼び出せるように(public)設定します。

引数が与えられた時には引数によって指定されたメソッドを public に設定します。

可視性については クラス/メソッドの定義/呼び出し制限 を参照して下さい。

[PARAM] name:
0 個以上の String または Symbol を指定します。
[PARAM] names:
0 個以上の String または SymbolArray で指定します。
[EXCEPTION] NameError:
存在しないメソッド名を指定した場合に発生します。


def foo() 1 end
p foo             # => 1
# the toplevel default is private
p self.foo        # => private method `foo' called for #<Object:0x401c83b0> (NoMethodError)

def bar() 2 end
public :bar       # visibility changed (all access allowed)
p bar             # => 2
p self.bar        # => 2