るりまサーチ

最速Rubyリファレンスマニュアル検索!
165件ヒット [1-100件を表示] (0.093秒)
トップページ > クエリ:l[x] > クエリ:>[x] > クエリ:class[x] > クエリ:puts[x] > クエリ:initialize[x]

別のキーワード

  1. _builtin >
  2. bigdecimal >
  3. comparable >
  4. integer >
  5. float >

ライブラリ

モジュール

キーワード

検索結果

<< 1 2 > >>

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

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

...

このメソッドは Class#new から新しく生成されたオブ
ジェクトの初期化のために呼び出されます。他の言語のコンストラクタに相当します。
デフォルトの動作ではなにもしません。

initialize
には
Class
#new に与えられた引数...
...

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

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

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

class
Bar < Foo
def initialize name, pass
puts
"initialize Bar"
super name
@pass = pass
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 (12385.0)

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

...期化メソッド。

このメソッドは self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
Object#clone, Object#dupの内部で使われています。

initialize
_copy は、Ruby インタプリタが知り...
...bject#clone,Object#dup

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

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

//emlist[][ruby]{
obj2 = obj.class.allocate
obj2.initialize_copy(...
...す。 obj.clone は、さらに
特異メソッドのコピーも行います。

//emlist[][ruby]{
obj = Object.new
class
<<obj
attr_accessor :foo
def bar
:bar
end
end

def check(obj)
puts
"instance variables: #{obj.inspect}"
puts
"tainted?: #{obj.tainted?}"
print "singleton method...
...製を作ります。 obj.clone は、さらに
特異メソッドのコピーも行います。

//emlist[][ruby]{
obj = Object.new
class
<<obj
attr_accessor :foo
def bar
:bar
end
end

def check(obj)
puts
"instance variables: #{obj.inspect}"
print "singleton methods: "
begin
p o...

WIN32OLE_EVENT#handler=(obj) -> () (9224.0)

イベント処理を実行するオブジェクトを登録します。

...るにはnilを指定します。

class
IeHandler
def initialize
@completed = false
end
attr_reader :completed
def onDocumentComplete(disp, uri)
disp.document.getElementsByTagName('a').each do |e|
puts
"#{e.innerHTML}=#{e.href}"
end
@completed = tru...
...s)
puts
"event=#{id.to_s}, args=#{args.inspect}"
end
end

ie = WIN32OLE.new('InternetExplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
event.handler = IeHandler.new
ie.Navigate2 'http://www.ruby-lang.org/ja/'
l
oop do
break if event.handler.comple...
...ted
WIN32OLE_EVENT.message_loop
end
ie.Quit

WIN32OLE_EVENT#on_eventなどの呼び出しでブロックが登録されている場
合、そちらが優先されます。...

ObjectSpace.#define_finalizer(obj) {|id| ...} -> Array (6260.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

...の注意

以下は、define_finalizer の使い方の悪い例です。

//emlist[悪い例][ruby]{
class
Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts
"foo"
}
end
end
Foo.new
GC.start
//}

これは、渡された proc の self が obj を参照しつ
づけるた...
...ん。

tempfile は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。

//emlist[例][ruby]{
class
Bar
def Bar.callback
proc {
puts
"bar"
}
e...
...良いでしょう。

//emlist[例][ruby]{
class
Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts
"baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start

# => baz
//}

@see spec/rubycmd...

ObjectSpace.#define_finalizer(obj, proc) -> Array (6260.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

...の注意

以下は、define_finalizer の使い方の悪い例です。

//emlist[悪い例][ruby]{
class
Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts
"foo"
}
end
end
Foo.new
GC.start
//}

これは、渡された proc の self が obj を参照しつ
づけるた...
...ん。

tempfile は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。

//emlist[例][ruby]{
class
Bar
def Bar.callback
proc {
puts
"bar"
}
e...
...良いでしょう。

//emlist[例][ruby]{
class
Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts
"baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start

# => baz
//}

@see spec/rubycmd...

絞り込み条件を変える

Thread::Backtrace::Location#base_label -> String (6230.0)

self が表すフレームの基本ラベルを返します。通常、 Thread::Backtrace::Location#label から修飾を取り除いたもので構成 されます。

...self が表すフレームの基本ラベルを返します。通常、
Thread::Backtrace::Location#label から修飾を取り除いたもので構成
されます。

//emlist[例][ruby]{
# foo.rb
class
Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)...
...end
end

Foo.new(0..2).locations.map do |call|
puts
call.base_label
end

# => initialize
# new
# <main>
//}

@see Thread::Backtrace::Location#label...

ObjectSpace.#undefine_finalizer(obj) -> object (6218.0)

obj に対するファイナライザをすべて解除します。 obj を返します。

...//emlist[例][ruby]{
class
Sample
def Sample.callback
proc {
puts
"finalize"
}
end

def initialize
ObjectSpace.define_finalizer(self, Sample.callback)
end

def undef
ObjectSpace.undefine_finalizer(self)
end
end

Sample.new
GC.start
# => finalize

Sample.new
sample.u...
...ndef
GC.start
# ※何も出力されない
//}

@see ObjectSpace.#define_finalizer...

Thread::Backtrace::Location#absolute_path -> String (6218.0)

self が表すフレームの絶対パスを返します。

...self が表すフレームの絶対パスを返します。

//emlist[例][ruby]{
# foo.rb
class
Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end

Foo.new(0..2).locations.map do |call|
puts
call.absolute_path
end

# => /path/to/foo.rb
# /path...
.../to/foo.rb
# /path/to/foo.rb
//}

@see Thread::Backtrace::Location#path...

WIN32OLE_TYPE#default_event_sources -> [WIN32OLE_TYPE] (6218.0)

型が持つソースインターフェイスを取得します。

...型が持つソースインターフェイスを取得します。

default_event_sourcesメソッドは、selfがCoClass(コンポーネントクラス)
の場合、そのクラスがサポートするデフォルトのソースインターフェイス(イ
ベントの通知元となるイン...
...を持
たない場合は空配列を返します。

tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Worksheet')
tobj.default_event_sources.map {|intf| intf.name} #=> ["DocEvents"]

WIN32OLE_EVENT.newでインターフェイス名を指定しない場合は、ここ...
...32
require 'win32ole'

type = WIN32OLE_TYPE.new('Microsoft Internet Controls', 'InternetExplorer')
ctl = WIN32OLE.new(type.progid)
source = type.default_event_sources[0]
class
WebEvent
def initialize
@completed = false
end
attr_reader :completed
end
source.ole_methods.each do |...

yaml (6072.0)

構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。

...あるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。

//emlist[例1: 構造化された配列][ruby]{
require 'yaml'

data = ["Taro san", "Jiro san", "Saburo san"]
str_r = YAML.dump(data)

str_l = <<~YAML_EOT
---
- Taro san
- Jiro san
- Saburo san
YAML_EOT

p st...
...== str_l # => true
//}

//emlist[例2: 構造化されたハッシュ][ruby]{
require 'yaml'
require 'date'

str_l = <<~YAML_EOT
Tanaka Taro: {age: 35, birthday: 1970-01-01}
Suzuki Suneo: {
age: 13,
birthday: 1992-12-21
}
YAML_EOT

str_r = {}
str_r["Tanaka Taro"] = {
"age" => 35,...
...YAML
version: 4
l
og: |
例を加えた。
アブストラクトを修正した。
---
time: 2008-02-24 17:00:35 +09:00
target: YAML
version: 3
l
og: |
アブストラクトを書いた。

YAML_EOT

YAML.load_stream(strio_r).sort_by{ |a| a["version"] }.each do |obj|
puts
"...

絞り込み条件を変える

<< 1 2 > >>