るりまサーチ

最速Rubyリファレンスマニュアル検索!
736件ヒット [101-200件を表示] (0.117秒)
トップページ > クエリ:Ruby[x] > クエリ:ruby[x] > 種類:インスタンスメソッド[x] > クエリ:i[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 ... > >>

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

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

...定義した機能は Module#refine を使用せずに直
接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。
そのため、既存の機能を局所的に修正したい場合などに用いる事ができます。

refinements 機能の詳細...
...ください。

* 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.ne...

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

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

...ンスタンスの上で BasicObject#instance_eval されます。

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

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

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

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

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

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

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

...ンスタンスの上で BasicObject#instance_eval されます。

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

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

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

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

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

Module#private_constant(*name) -> self (6138.0)

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

...を private に変更します。

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

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

@
return self を返します。

@
see Module#public_constant, Object#untrusted?

//emlist[例][ruby]{
module
Foo...
...BAR = 'bar'
class Baz; end
QUX = 'qux'
class Quux; end

private_constant :QUX
private_constant :Quux
end

Foo::BAR # => "bar"
Foo::Baz # => Foo::Baz
Foo::QUX # => NameError: private constant Foo::QUX referenced
Foo::Quux # => NameError: private constant Foo::Quux referenced
//}...
...可視性を private に変更します。

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

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

@
return self を返します。

@
see Module#public_constant

//emlist[例][ruby]{
module
Foo
BAR = 'bar...
...'
class Baz; end
QUX = 'qux'
class Quux; end

private_constant :QUX
private_constant :Quux
end

Foo::BAR # => "bar"
Foo::Baz # => Foo::Baz
Foo::QUX # => NameError: private constant Foo::QUX referenced
Foo::Quux # => NameError: private constant Foo::Quux referenced
//}...

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

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

...可視性を public に変更します。

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

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

@
return self を返します。

//emlist[例][ruby]{
module
SampleModule
class SampleInnerClass
end...
...private にする
private_constant :SampleInnerClass
end

begin
SampleModule::SampleInnerClass
rescue => e
e # => #<NameError: private constant SampleModule::SampleInnerClass referenced>
end

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

SampleModule::SampleInnerClass # => SampleModule::SampleInnerClass
//}

@
see Module#private_constant, Object#untrusted?...
...にする
public_constant :SampleInnerClass
end

SampleModule::SampleInnerClass # => SampleModule::SampleInnerClass
//}

@
see Module#private_constant...

絞り込み条件を変える

Module#remove_class_variable(name) -> object (6138.0)

引数で指定したクラス変数を取り除き、そのクラス変数に設定さ れていた値を返します。

...、そのクラス変数に設定さ
れていた値を返します。

@
param name String または Symbol を指定します。

@
return 引数で指定されたクラス変数に設定されていた値を返します。

@
raise NameError 引数で指定されたクラス変数がそのモジュ...
...ールやクラスに定義されていない場合に発生します。

//emlist[例][ruby]{
class Foo
@
@foo = 1
remove_class_variable(:@@foo) # => 1
p @@foo # => uninitialized class variable @@foo in Foo (NameError)
end
//}

@
see Module#remove_const, Object#remove_instance_variable...

Module#const_source_location(name, inherited = true) -> [String, Integer] (6132.0)

name で指定した定数の定義を含むソースコードのファイル名と行番号を配列で返します。

...します。

@
param name Symbol,String で定数の名前を指定します。
@
param inherited true を指定するとスーパークラスや include したモジュールで定義された定数が対象にはなります。false を指定した場合 対象にはなりません。
@
return ソ...
...nil を返します。
定数は見つかったがソースファイルが見つからなかった場合は空の配列を返します。

//emlist[例][ruby]{
# test.rb:
class A # line 1
C1 = 1
C2 = 2
end

module
M # line 6
C3 = 3
end

class B < A # line 10
i
nclu...
...ocation('C4') # => ["test.rb", 12]
p B.const_source_location('C3') # => ["test.rb", 7]
p B.const_source_location('C1') # => ["test.rb", 2]

p B.const_source_location('C3', false) # => nil -- include したモジュールは検索しない

p A.const_source_location(...

Module#instance_method(name) -> UnboundMethod (6132.0)

self のインスタンスメソッド name をオブジェクト化した UnboundMethod を返します。

...ます。

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

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

@
see Module#public_instance_method, Object#method

//emlist[例][ruby]{
class Interpreter
def do_a() print "there...
...rint "Hello "; end
def do_e() print "!\n"; end
def do_v() print "Dave"; end
Dispatcher = {
"a" => instance_method(:do_a),
"d" => instance_method(:do_d),
"e" => instance_method(:do_e),
"v" => instance_method(:do_v)
}
def interpret(string)
string.each_char {|b| Di...
...spatcher[b].bind(self).call }
end
end

i
nterpreter = Interpreter.new
i
nterpreter.interpret('dave')
# => Hello there, Dave!
//}...

Module#module_function() -> nil (6132.0)

メソッドをモジュール関数にします。

...数が与えられた時には配列にまとめて返します。
引数なしの時は nil を返します。

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

=== 注意
module
_function はメソッドに「モジュール関数」という属性をつけるメ
ソッドで...
...もモジュール関数の別名は定義できません。

//emlist[例][ruby]{
module
M
def foo
p "foo"
end
module
_function :foo
alias bar foo
end

M.foo # => "foo"
M.bar # => undefined method `bar' for Foo:Module (NoMethodError)
//}

このコードでは、モジュール関数...
...付けるには、
以下のように、先に別名を定義してから
それぞれをモジュール関数にしなければいけません。

//emlist[例][ruby]{
module
M
def foo
p "foo"
end

alias bar foo
module
_function :foo, :bar
end

M.foo # => "foo"
M.bar # => "foo"
//}...
<< < 1 2 3 4 ... > >>