るりまサーチ

最速Rubyリファレンスマニュアル検索!
505件ヒット [1-100件を表示] (0.060秒)
トップページ > ライブラリ:ビルトイン[x] > クエリ:@[x] > クエリ:initialize[x]

別のキーワード

  1. win32ole ole_activex_initialize
  2. ri initialize
  3. object initialize
  4. darkfish initialize
  5. _builtin initialize

クラス

モジュール

キーワード

検索結果

<< 1 2 3 ... > >>

Object#initialize(*args, &block) -> object (18193.0)

ユーザ定義クラスのオブジェクト初期化メソッド。

...

initialize
には
Class#new に与えられた引数がそのまま渡されます。

サブクラスではこのメソッドを必要に応じて再定義されること
が期待されています。

initialize
という名前のメソッドは自動的に private に設定され
ます。

@
p...
...です。
@
param block 初期化時のブロック引数です。必須ではありません。

//emlist[][ruby]{
class Foo
def initialize name
puts "initialize Foo"
@
name = name
end
end

class Bar < Foo
def initialize name, pass
puts "initialize Bar"
super name
@
pass = pa...
...ss
end
end

it = Bar.new('myname','0500')
p it
#=> initialize Bar
# initialize Foo
# #<Bar:0x2b68f08 @name="myname", @pass="0500">
//}

@
see Class#new...

Object#initialize_copy(obj) -> object (6169.0)

(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。

...し、self のインスタンス変数や特異メソッドは変化しません。
Object#clone, Object#dupの内部で使われています。

initialize
_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに使用(定義)されます。例えば C 言語でクラ...
...ます。

デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェックを行い self
を返すだけのメソッドです。

initialize
_copy という名前のメソッドは
自動的に private に設定されます。

@
raise TypeError レシーバが freeze...
...異なる場合に発生します。
@
see Object#clone,Object#dup

以下に例として、dup や clone がこのメソッドをどのように利用しているかを示します。

obj.dup は、新たに生成したオブジェクトに対して
initialize
_copy を呼び

//emlist[][ruby]{
obj2...

Thread::ConditionVariable (98.0)

スレッドの同期機構の一つである状態変数を実現するクラスです。

...@q が空になった場合、
あるいは満タンになった場合に Condition Variable を使って wait しています。

require 'thread'

class TinyQueue
def initialize(max=2)
@
max = max
@
full = ConditionVariable.new
@
empty = ConditionVariable.new
@
mutex...
...= Mutex.new
@
q = []
end

def count
@
q.size
end

def enq(v)
@
mutex.synchronize{
@
full.wait(@mutex) if count == @max
@
q.push v
@
empty.signal if count == 1
}
end

def deq
@
mutex.synchronize{
@
empty.wait(@mutex) if co...
...unt == 0
v = @q.shift
@
full.signal if count == (@max - 1)
v
}
end

alias send enq
alias recv deq
end

if __FILE__ == $0
q = TinyQueue.new(1)
foods = 'Apple Banana Strawberry Udon Rice Milk'.split
l = []

th = Thread.new {
for obj in...

Data.[](**kwargs) -> Data (80.0)

(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。

...ジェクトを生成して返します。

@
param args 値オブジェクトのメンバの値を指定します。

@
param kwargs 値オブジェクトのメンバの値を指定します。

@
return 値オブジェクトクラスのインスタンス。

@
raise ArgumentError 値オブジェクト...
...す。

new に渡す引数の数がメンバの数より少ない場合は new ではエラーにならず、そのまま initialize に渡されます。
ユーザが initialize のオーバーライドを通して、少ない引数のときの適切な振舞いを実装可能とするためです...
...
残りのケースではエラーの発生箇所は new ではなく initialize であることに注意してください。

//emlist[例][ruby]{
Point = Data.define(:x, :y)

Point.new(1) # => in `initialize': missing keyword: :y (ArgumentError)
Point.new(1, 2, 3) # =...

Data.[](*args) -> Data (80.0)

(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。

...ジェクトを生成して返します。

@
param args 値オブジェクトのメンバの値を指定します。

@
param kwargs 値オブジェクトのメンバの値を指定します。

@
return 値オブジェクトクラスのインスタンス。

@
raise ArgumentError 値オブジェクト...
...す。

new に渡す引数の数がメンバの数より少ない場合は new ではエラーにならず、そのまま initialize に渡されます。
ユーザが initialize のオーバーライドを通して、少ない引数のときの適切な振舞いを実装可能とするためです...
...
残りのケースではエラーの発生箇所は new ではなく initialize であることに注意してください。

//emlist[例][ruby]{
Point = Data.define(:x, :y)

Point.new(1) # => in `initialize': missing keyword: :y (ArgumentError)
Point.new(1, 2, 3) # =...

絞り込み条件を変える

Data.new(**kwargs) -> Data (80.0)

(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。

...ジェクトを生成して返します。

@
param args 値オブジェクトのメンバの値を指定します。

@
param kwargs 値オブジェクトのメンバの値を指定します。

@
return 値オブジェクトクラスのインスタンス。

@
raise ArgumentError 値オブジェクト...
...す。

new に渡す引数の数がメンバの数より少ない場合は new ではエラーにならず、そのまま initialize に渡されます。
ユーザが initialize のオーバーライドを通して、少ない引数のときの適切な振舞いを実装可能とするためです...
...
残りのケースではエラーの発生箇所は new ではなく initialize であることに注意してください。

//emlist[例][ruby]{
Point = Data.define(:x, :y)

Point.new(1) # => in `initialize': missing keyword: :y (ArgumentError)
Point.new(1, 2, 3) # =...

Data.new(*args) -> Data (80.0)

(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。

...ジェクトを生成して返します。

@
param args 値オブジェクトのメンバの値を指定します。

@
param kwargs 値オブジェクトのメンバの値を指定します。

@
return 値オブジェクトクラスのインスタンス。

@
raise ArgumentError 値オブジェクト...
...す。

new に渡す引数の数がメンバの数より少ない場合は new ではエラーにならず、そのまま initialize に渡されます。
ユーザが initialize のオーバーライドを通して、少ない引数のときの適切な振舞いを実装可能とするためです...
...
残りのケースではエラーの発生箇所は new ではなく initialize であることに注意してください。

//emlist[例][ruby]{
Point = Data.define(:x, :y)

Point.new(1) # => in `initialize': missing keyword: :y (ArgumentError)
Point.new(1, 2, 3) # =...

Enumerable#max {|a, b| ... } -> object | nil (69.0)

ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が入った降順の配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。

...を返すかは不定です。

@
param n 取得する要素数。

@
raise TypeError ブロックが整数以外を返したときに発生します。

//emlist[例][ruby]{
class Person
attr_reader :name, :age

def initialize(name, age)
@
name = name
@
age = age
end
end

people = [...
...{ |x, y| (x.age <=> y.age).nonzero? || y.name <=> x.name }
# => #<Person:0x007fc54b0240a0 @name="sato", @age=55>
people.max(2) { |x, y| (x.age <=> y.age).nonzero? || y.name <=> x.name }
# => [#<Person:0x007fc54b0240a0 @name="sato", @age=55>, #<Person:0x007fc54c033ea0 @name="suzuki", @age=55>]
//}...

Enumerable#max(n) {|a, b| ... } -> Array (69.0)

ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が入った降順の配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。

...を返すかは不定です。

@
param n 取得する要素数。

@
raise TypeError ブロックが整数以外を返したときに発生します。

//emlist[例][ruby]{
class Person
attr_reader :name, :age

def initialize(name, age)
@
name = name
@
age = age
end
end

people = [...
...{ |x, y| (x.age <=> y.age).nonzero? || y.name <=> x.name }
# => #<Person:0x007fc54b0240a0 @name="sato", @age=55>
people.max(2) { |x, y| (x.age <=> y.age).nonzero? || y.name <=> x.name }
# => [#<Person:0x007fc54b0240a0 @name="sato", @age=55>, #<Person:0x007fc54c033ea0 @name="suzuki", @age=55>]
//}...

Enumerable#min {|a, b| ... } -> object | nil (69.0)

ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。

...素が複数存在する場合、どの要素を返すかは不定です。

@
param n 取得する要素数。


//emlist[例][ruby]{
class Person
attr_reader :name, :age

def initialize(name, age)
@
name = name
@
age = age
end
end

people = [
Person.new("sato", 55),
Person.new("sato...
...=> x.name }
# => #<Person:0x007fd6f0824190 @name="tanaka", @age=11>

people.min(2) { |x, y| (x.age <=> y.age).nonzero? || y.name <=> x.name }
# => [#<Person:0x007fb5899ef4a8 @name="tanaka", @age=11>, #<Person:0x007fb5899ef728 @name="suzuki", @age=11>]
//}

@
raise TypeError ブロックが整数...

絞り込み条件を変える

Enumerable#min(n) {|a, b| ... } -> Array (69.0)

ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。

...素が複数存在する場合、どの要素を返すかは不定です。

@
param n 取得する要素数。


//emlist[例][ruby]{
class Person
attr_reader :name, :age

def initialize(name, age)
@
name = name
@
age = age
end
end

people = [
Person.new("sato", 55),
Person.new("sato...
...=> x.name }
# => #<Person:0x007fd6f0824190 @name="tanaka", @age=11>

people.min(2) { |x, y| (x.age <=> y.age).nonzero? || y.name <=> x.name }
# => [#<Person:0x007fb5899ef4a8 @name="tanaka", @age=11>, #<Person:0x007fb5899ef728 @name="suzuki", @age=11>]
//}

@
raise TypeError ブロックが整数...

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

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

...す。

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

//emlist[][ruby]{
class Demo
def initialize(n)
@
iv = n
end
def hello()
"Hello, @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, Ob...

BasicObject#method_missing(name, *args) -> object (50.0)

呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。

...ォルトではこのメソッドは例外 NoMethodError を発生させます。


@
param name 未定義メソッドの名前(シンボル)です。
@
param args 未定義メソッドに渡された引数です。
@
return ユーザー定義の method_missing メソッドの返り値が未定義...
...あるかのように見えます。

//emlist[例][ruby]{
class Foo
def initialize(data)
@
data = data
end
def method_missing(name, lang)
if name.to_s =~ /\Afind_(\d+)_in\z/
if @data[lang]
p @data[lang][$1.to_i]
else
raise "#{lang} unknown"
end...
...メソッドを override する場合は対象のメソッド名に対して
Object#respond_to? が真を返すようにしてください。
そのためには、Object#respond_to_missing? も同様に override する必
要があります。

@
see Object#respond_to?, Object#respond_to_missing?...
<< 1 2 3 ... > >>