るりまサーチ

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

別のキーワード

  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 {|mod| ... } -> object (6297.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#define_method(name, method) -> Symbol (6243.0)

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

...ject#instance_eval されます。

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

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

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

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

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

Object#method(name) -> Method (6237.0)

オブジェクトのメソッド name をオブジェクト化した Method オブジェクトを返します。

...
Method オブジェクトを返します。

@
param name メソッド名をSymbol またはStringで指定します。
@
raise NameError 定義されていないメソッド名を引数として与えると発生します。

//emlist[][ruby]{
me = -365.method(:abs)
p me #=> #<Method: Integer#abs...
...>
p me.call #=> 365
//}

@
see Module#instance_method, Method, BasicObject#__send__, Object#send, Kernel.#eval, Object#singleton_method...

Object#taint -> self (6207.0)

このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。

...このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。

オブジェクトの「汚染マーク」をセットします。

環境変数(ENVで得られる文字列)など一部のオブジェクトは最初から汚染されています。
オブジェクト...
...st[][ruby]{
$SAFE = 1

some = "puts '@&%&(#!'"
p some.tainted? #=> false
eval
(some) #=> @&%&(#!

some.taint
p some.tainted? #=> true
eval
(some) # Insecure operation - eval (SecurityError)

some.untaint
p some.tainted? #=> false
eval
(some) #=> @&%&(#!

p ENV['OS'].tainted? #=> true
//}

@
see Object#t...
...ainted?,Object#untaint,Object#freeze...

Object#respond_to?(name, include_all = false) -> bool (6173.0)

オブジェクトがメソッド name を持つとき真を返します。

...ような NotImplementedError が発生する場合は false を返します。

※ NotImplementedError が発生する場合に false を返すのは
Ruby
の組み込みライブラリや標準ライブラリなど、C言語で実装されているメソッドのみです。
Ruby
で実装され...
...tImplementedError が発生する場合は true を返します。

メソッドが定義されていない場合は、Object#respond_to_missing? を呼
び出してその結果を返します。

@
param name Symbol または文字列で指定するメソッド名です。

@
param include_all privat...
...protected メソッドを確認の対象に
含めるかを true か false で指定します。省略した場合
は false(含めない) を指定した事になります。

//emlist[][ruby]{
class F
def hello
"Bonjour"
end
end

class D
private
d...

絞り込み条件を変える

Object#singleton_method(name) -> Method (6167.0)

オブジェクトの特異メソッド name をオブジェクト化した Method オブ ジェクトを返します。

...した Method オブ
ジェクトを返します。

@
param name メソッド名をSymbol またはStringで指定します。
@
raise NameError 定義されていないメソッド名を引数として与えると発生します。

//emlist[][ruby]{
class Demo
def initialize(n)
@
iv = n
end...
...o, @iv = #{@iv}"
end
end

k = Demo.new(99)
def k.hi
"Hi, @iv = #{@iv}"
end
m = k.singleton_method(:hi) # => #<Method: #<Demo:0xf8b0c3c4 @iv=99>.hi>
m.call #=> "Hi, @iv = 99"
m = k.singleton_method(:hello) # => NameError
//}

@
see Module#instance_method, Method, BasicObject#__send__, Object#...
...send, Kernel.#eval, Object#method...

Binding#local_variable_set(symbol, obj) (6161.0)

引数 symbol で指定した名前のローカル変数に引数 obj を設定します。

...

@
param symbol ローカル変数名を Symbol オブジェクトで指定します。

@
param obj 引数 symbol で指定したローカル変数に設定するオブジェクトを指定します。

//emlist[例][ruby]{
def foo
a = 1
bind = binding
bind.local_variable_set(:a, 2) # set e...
...xisting local variable `a'
bind.local_variable_set(:b, 3) # create new local variable `b'
# `b' exists only in binding
p bind.local_variable_get(:a) # => 2
p bind.local_variable_get(:b) # => 3
p a # => 2
p b...
...# => NameError
end
//}

このメソッドは以下のコード(ただし、obj が Ruby のコードで出力される場
合)と同様の動作をします。

//emlist[][ruby]{
binding.eval("#{symbol} = #{obj}")
//}

@
see Binding#local_variable_get, Binding#local_variable_defined?...

Binding#local_variable_get(symbol) -> object (6149.0)

引数 symbol で指定した名前のローカル変数に設定された値を返します。

...を返します。

@
param symbol ローカル変数名を Symbol オブジェクトで指定します。

@
raise NameError 引数 symbol で指定したローカル変数が未定義の場合に発生します。

//emlist[例][ruby]{
def foo
a = 1
binding.local_variable_get(:a) # => 1
bindin...
...g.local_variable_get(:b) # => NameError
end
//}

このメソッドは以下のコードの短縮形です。

//emlist[][ruby]{
binding.eval("#{symbol}")
//}

@
see Binding#local_variable_set, Binding#local_variable_defined?...

BasicObject#instance_exec(*args) {|*vars| ... } -> object (6143.0)

与えられたブロックをレシーバのコンテキストで実行します。

...できます。

@
param args ブロックパラメータに渡す値です。

//emlist[例][ruby]{
class KlassWithSecret
def initialize
@
secret = 99
end
end
k = KlassWithSecret.new
# 以下で x には 5 が渡される
k.instance_exec(5) {|x| @secret + x } #=> 104
//}

@
see Module#class_...
...exec, Module#module_exec, BasicObject#instance_eval...
<< < 1 2 3 4 > >>