るりまサーチ

最速Rubyリファレンスマニュアル検索!
992件ヒット [201-300件を表示] (0.078秒)
トップページ > クエリ:Ruby[x] > クエリ:ruby[x] > 種類:インスタンスメソッド[x] > クエリ:@[x] > クエリ:>[x] > クラス:Module[x]

別のキーワード

  1. fiddle ruby_free
  2. rbconfig ruby
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

検索結果

<< < 1 2 3 4 5 ... > >>

Module#public_constant(*name) -> self (144.0)

name で指定した定数の可視性を public に変更します。

...変更します。

@
param name 0 個以上の String か Symbol を指定します。

@
raise NameError 存在しない定数を指定した場合に発生します。

@
return self を返します。

//emlist[例][ruby]{
module
SampleModule
class SampleInnerClass
end

# => 非公開クラ...
...SampleModule::SampleInnerClass
rescue => e
e # => #<NameError: private constant SampleModule::SampleInnerClass referenced>
end

module
SampleModule
# => 非公開クラスであることは承知で利用するために public にする
public_constant :SampleInnerClass
end

SampleModule::Samp...
...leInnerClass # => SampleModule::SampleInnerClass
//}

@
see Module#private_constant, Object#untrusted?...

Module#refine(klass) { ... } -> Module (144.0)

引数 klass で指定したクラスまたはモジュールだけに対して、ブロックで指定した機能を提供で きるモジュールを定義します。定義した機能は Module#refine を使用せずに直 接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。 そのため、既存の機能を局所的に修正したい場合などに用いる事ができます。

...モジュールだけに対して、ブロックで指定した機能を提供で
きるモジュールを定義します。定義した機能は Module#refine を使用せずに直
接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。
そのた...
...ださい。

* https://magazine.rubyist.net/articles/0041/0041-200Special-refinement.html
* https://docs.ruby-lang.org/en/master/syntax/refinements_rdoc.html

定義した機能は main.using, Module#using を実行した場合のみ
有効になります。

@
param klass 拡張する対象のク...
...

@
return ブロックで指定した機能を持つ無名のモジュールを返します。

//emlist[例][ruby]{
class C
def foo
puts "C#foo"
end
end

module
M
refine C do
def foo
puts "C#foo in M"
end
end
end

x = C.new
x.foo # => "C#foo"

using M

x = C.new
x.foo # =>...

Module#remove_method(*name) -> self (144.0)

インスタンスメソッド name をモジュールから削除します。

...します。

Ruby
1.8.0 以降は複数のメソッド名を指定して一度に削除できます。

@
param name 0 個以上の String か Symbol を指定します。

@
raise NameError 指定したメソッドが定義されていない場合に発生します。

//emlist[例][ruby]{
class C...
...def foo
end

remove_method :foo
remove_method :no_such_method # 例外 NameError が発生
end
//}

@
see Module#undef_method...

Module#define_method(name) { ... } -> Symbol (138.0)

インスタンスメソッド name を定義します。

...val されます。

@
param name メソッド名を String または Symbol を指定します。

@
param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。

@
return メソッド名を表す Symbol を返します。

@
raise TypeError me...
...thod に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。

//emlist[例][ruby]{
class Foo
def foo() p :foo end
define_method(:bar, instance_method(:foo))
end
Foo.new.bar # => :foo
//}...

Module#define_method(name, method) -> Symbol (138.0)

インスタンスメソッド name を定義します。

...val されます。

@
param name メソッド名を String または Symbol を指定します。

@
param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。

@
return メソッド名を表す Symbol を返します。

@
raise TypeError me...
...thod に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。

//emlist[例][ruby]{
class Foo
def foo() p :foo end
define_method(:bar, instance_method(:foo))
end
Foo.new.bar # => :foo
//}...

絞り込み条件を変える

Module#instance_methods(inherited_too = true) -> [Symbol] (138.0)

そのモジュールで定義されている public および protected メソッド名 の一覧を配列で返します。

...び protected メソッド名
の一覧を配列で返します。

@
param inherited_too false を指定するとそのモジュールで定義されているメソッドのみ返します。

@
see Object#methods

//emlist[例1][ruby]{
class Foo
private; def private_foo() end
protected; def...
...ss Bar < Foo
end
//}

実行結果

[:protected_foo, :public_foo]
[:public_foo]
[:private_foo]
[:protected_foo]

//emlist[例2][ruby]{
class Bar
private; def private_foo() end
protected; def protected_foo() end
public; def public_foo() end
end

# あるクラス...

Module#private() -> nil (138.0)

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

...て下さい。

@
param name 0 個以上の String または Symbol を指定します。
@
param names 0 個以上の String または Symbol を Array で指定します。

@
raise NameError 存在しないメソッド名を指定した場合に発生します。

//emlist[例][ruby]{
class Foo...
...) 1 end # デフォルトでは public
private # 可視性を private に変更
def foo2() 2 end # foo2 は private メソッド
end

foo = Foo.new
p foo.foo1 # => 1
p foo.foo2 # => private method `foo2' called for #<Foo:0x401b7628> (NoMethodError)
//}...

Module#private(*name) -> Array (138.0)

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

...て下さい。

@
param name 0 個以上の String または Symbol を指定します。
@
param names 0 個以上の String または Symbol を Array で指定します。

@
raise NameError 存在しないメソッド名を指定した場合に発生します。

//emlist[例][ruby]{
class Foo...
...) 1 end # デフォルトでは public
private # 可視性を private に変更
def foo2() 2 end # foo2 は private メソッド
end

foo = Foo.new
p foo.foo1 # => 1
p foo.foo2 # => private method `foo2' called for #<Foo:0x401b7628> (NoMethodError)
//}...

Module#private(name) -> String | Symbol (138.0)

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

...て下さい。

@
param name 0 個以上の String または Symbol を指定します。
@
param names 0 個以上の String または Symbol を Array で指定します。

@
raise NameError 存在しないメソッド名を指定した場合に発生します。

//emlist[例][ruby]{
class Foo...
...) 1 end # デフォルトでは public
private # 可視性を private に変更
def foo2() 2 end # foo2 は private メソッド
end

foo = Foo.new
p foo.foo1 # => 1
p foo.foo2 # => private method `foo2' called for #<Foo:0x401b7628> (NoMethodError)
//}...
<< < 1 2 3 4 5 ... > >>