るりまサーチ

最速Rubyリファレンスマニュアル検索!
36件ヒット [1-36件を表示] (0.115秒)

別のキーワード

  1. _builtin main
  2. main define_method
  3. main public
  4. main private
  5. thread main

ライブラリ

キーワード

検索結果

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

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

...モジュールだけに対して、ブロックで指定した機能を提供で
きるモジュールを定義します。定義した機能は Module#refine を使用せずに直
接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。
そのた...
...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 # => "C#foo in M"
//}

@
see main.using...

Module#autoload(const_name, feature) -> nil (26.0)

定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。

...きは何もしません。

@
param const_name String または Symbol で指定します。
なお、const_name には、"::" 演算子を含めることはできません。
つまり、self の直下に定義された定数しか指定できません。

@
param feature Kernel.#requi...
...ない場
合、NameError が発生します。

//emlist[例][ruby]{
# ------- /tmp/bar.rb ---------
class Bar
end
# ----- end of /tmp/bar.rb ----

class Foo
autoload :Bar, '/tmp/bar.rb'
end
p Foo::Bar
#=> -:4:in `<main>': uninitialized constant Foo::Bar (NameError)
//}

@
see Kernel.#autoload...

Module#using(module) -> self (20.0)

引数で指定したモジュールで定義された拡張を現在のクラス、モジュールで有 効にします。

...ルで有
効にします。

有効にした拡張の有効範囲については以下を参照してください。

* https://docs.ruby-lang.org/en/master/syntax/refinements_rdoc.html#label-Scope

@
param module 有効にするモジュールを指定します。

@
see Module#refine, main.using...