るりまサーチ

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

別のキーワード

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

検索結果

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

Module#module_eval(expr, fname = "(eval)", lineno = 1) -> object (50.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#attr(*name) -> nil (44.0)

インスタンス変数読み取りのためのインスタンスメソッド name を定義します。

...りです。

//emlist[例][ruby]{
def name
@
name
end
//}

第 2 引数 が true で指定された場合には、属性の書き込み用メソッド name= も同時に定義されます。
その定義は次の通りです。

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

第 2 引...
...数 に true か false を指定する方法は非推奨です。

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

Module#attr(name, false) -> nil (44.0)

インスタンス変数読み取りのためのインスタンスメソッド name を定義します。

...りです。

//emlist[例][ruby]{
def name
@
name
end
//}

第 2 引数 が true で指定された場合には、属性の書き込み用メソッド name= も同時に定義されます。
その定義は次の通りです。

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

第 2 引...
...数 に true か false を指定する方法は非推奨です。

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

Module#attr(name, true) -> nil (44.0)

インスタンス変数読み取りのためのインスタンスメソッド name を定義します。

...りです。

//emlist[例][ruby]{
def name
@
name
end
//}

第 2 引数 が true で指定された場合には、属性の書き込み用メソッド name= も同時に定義されます。
その定義は次の通りです。

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

第 2 引...
...数 に true か false を指定する方法は非推奨です。

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

Module#attr_reader(*name) -> [Symbol] (44.0)

インスタンス変数 name の読み取りメソッドを定義します。

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

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

//emlist[例][ruby]{
def name
@
name
end
//}

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

絞り込み条件を変える

Module#attr_writer(*name) -> [Symbol] (44.0)

インスタンス変数 name への書き込みメソッド (name=) を定義します。

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

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

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

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

Module#deprecate_constant(*name) -> self (44.0)

name で指定した定数を deprecate に設定します。 deprecate に設定した定数を参照すると警告メッセージが表示されます。

...告メッセージが表示されます。

Ruby
2.7.2 から Warning[:deprecated] のデフォルト値が false に変更になったため、
デフォルトでは警告が表示されません。

コマンドラインオプション(詳細はd:spec/rubycmd#cmd_option参照)で、
「-w」か「...
...示されるかどうかは変わりません。

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

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

@
return self を返します。

//emlist[例][ruby]{
FOO = 123
Object.deprecate_constant(:FOO) # =>...

Module#extend_object(obj) -> object (44.0)

Object#extend の実体です。オブジェクトにモジュールの機能を追加します。

...す。オブジェクトにモジュールの機能を追加します。

Object#extend は、Ruby で書くと以下のように定義できます。

//emlist[例][ruby]{
def extend(*modules)
module
s.reverse_each do |mod|
# extend_object や extended はプライベートメソッドなの...
...では、self に定義されて
いるインスタンスメソッドを obj の特異メソッドとして追加します。

@
param obj self の機能を追加するオブジェクトを指定します。

@
return obj で指定されたオブジェクトを返します。

@
see Module#extended...

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

Module#remove_method(*name) -> self (44.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 (38.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
//}...
<< < 1 2 3 4 ... > >>