るりまサーチ

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

別のキーワード

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

検索結果

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

Module#module_eval(expr, fname = "(eval)", lineno = 1) -> object (62.0)

モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。

...ことです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。

定数とクラス変数のスコープは、文字列が与えられた場合と...
...ます。


@
param expr 評価される文字列。

@
param fname 文字列を指定します。ファイル fname に文字列 expr が書かれているかのように実行されます。
スタックトレースの表示などを差し替えることができます。

@
param lineno...
...きます。

//emlist[例][ruby]{
class C
end

a = 1
C.class_eval %Q{
def m # メソッドを動的に定義できる。
return :m, #{a}
end

}

p C.new.m #=> [:m, 1]
//}

//emlist[定数のスコープが異なる例][ruby]{
class C
end


# ブロックが渡された...

Module#private_method_defined?(name, inherit=true) -> bool (62.0)

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が private であるときに true を返します。 そうでなければ false を返します。

...します。

@
param name Symbol か String を指定します。
@
param inherit 真を指定するとスーパークラスや include したモジュールで
定義されたメソッドも対象になります。

@
see Module#method_defined?, Module#public_method_defined?, Module#protected_...
...method_defined?

//emlist[例][ruby]{
module
A
def method1() end
end

class B
private
def method2() end
end

class C < B
include A
def method3() end
end


A.method_defined? :method1 #=> true
C.private_method_defined? "method1" #=> false
C.private_method_defined?...

Module#protected_method_defined?(name, inherit=true) -> bool (62.0)

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が protected であるときに true を返します。 そうでなければ false を返します。

...します。

@
param name Symbol か String を指定します。
@
param inherit 真を指定するとスーパークラスや include したモジュールで
定義されたメソッドも対象になります。

@
see Module#method_defined?, Module#public_method_defined?, Module#private_me...
...thod_defined?

//emlist[例][ruby]{
module
A
def method1() end
end

class B
protected
def method2() end
end

class C < B
include A
def method3() end
end


A.method_defined? :method1 #=> true
C.protected_method_defined? "method1" #=> false
C.protected_method_defin...

Module#public_method_defined?(name, inherit=true) -> bool (62.0)

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が public であるときに true を返します。 そうでなければ false を返します。

...ます。

@
param name Symbol か String を指定します。
@
param inherit 真を指定するとスーパークラスや include したモジュールで
定義されたメソッドも対象になります。

@
see Module#method_defined?, Module#private_method_defined?, Module#protected_me...
...thod_defined?

//emlist[例][ruby]{
module
A
def method1() end
end

class B
protected
def method2() end
end

class C < B
include A
def method3() end
end


A.method_defined? :method1 #=> true
C.public_method_defined? "method1" #=> true
C.public_method_defined? "metho...

Module#refine(klass) { ... } -> Module (62.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"...

絞り込み条件を変える

Module#attr_accessor(*name) -> [Symbol] (56.0)

インスタンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を 定義します。

...ruby]{
class User
attr_accessor :name # => [:name, :name=]
# 複数の名前を渡すこともできる
attr_accessor :id, :age # => [:id, :id=, :age, :age=]
end

//}

このメソッドで定義されるメソッドの定義は以下の通りです。

//emlist[例][ruby]{
def name
@
name
end
...
...def name=(val)
@
name = val
end

//}

@
param name String または Symbol を 1 つ以上指定します。
@
return 定義されたメソッド名を Symbol の配列で返します。...

Module#private_instance_methods(inherited_too = true) -> [Symbol] (56.0)

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

...

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

@
see Object#private_methods, Module#instance_methods

//emlist[例][ruby]{
module
Foo
def foo; end
private def bar; end
end


module
Bar
include Foo

def baz; end
p...
...rivate def qux; end
end


Bar.private_instance_methods # => [:qux, :bar]
Bar.private_instance_methods(false) # => [:qux]
//}...

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

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

...に変更します。

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

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

@
return self を返します。

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


# => 非公開ク...
...ass
end


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


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


S...
...ampleModule::SampleInnerClass # => SampleModule::SampleInnerClass
//}

@
see Module#private_constant, Object#untrusted?...
...ampleModule::SampleInnerClass # => SampleModule::SampleInnerClass
//}

@
see Module#private_constant...

Module#alias_method(new, original) -> Symbol (50.0)

メソッドの別名を定義します。

...メソッドの別名を定義します。

//emlist[例][ruby]{
module
Kernel
alias_method :hoge, :puts # => :hoge
alias_method "foo", :puts # => :foo
end

//}

alias との違いは以下の通りです。

* メソッド名は String または Symbol で指定します
* グローバル...
...できません。

@
param new 新しいメソッド名。String または Symbol で指定します。

@
param original 元のメソッド名。String または Symbol で指定します。

@
return 作成したエイリアスのメソッド名を表す Symbol を返します。

@
see d:spec/def#al...
...ias

//emlist[例][ruby]{
module
Kernel
alias_method :foo, :puts
end


foo "bar" # bar
//}...

Module#alias_method(new, original) -> self (50.0)

メソッドの別名を定義します。

...メソッドの別名を定義します。

//emlist[例][ruby]{
module
Kernel
alias_method :hoge, :puts # => Kernel
end

//}

alias との違いは以下の通りです。

* メソッド名は String または Symbol で指定します
* グローバル変数の別名をつけることはで...
...

@
param new 新しいメソッド名。String または Symbol で指定します。

@
param original 元のメソッド名。String または Symbol で指定します。

@
return self を返します。

@
see d:spec/def#alias

//emlist[例][ruby]{
module
Kernel
alias_method :foo, :puts
end
...

絞り込み条件を変える

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

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

...します。

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

//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
include M
C4 = 4
end


class A # 継続して A を定義する
C2 = 8 # 定数を再定義する
end


p B.const_source_location('C4'...
...] -- Object を継承している為
p M.const_source_location('A') # => ["test.rb", 1] -- Object は継承していないが追加で modules をチェックする

p Object.const_source_location('A::C1') # => ["test.rb", 2] -- ネストの指定もサポートしている
p Object....
<< < 1 2 3 4 5 ... > >>