るりまサーチ

最速Rubyリファレンスマニュアル検索!
1038件ヒット [201-300件を表示] (0.036秒)
トップページ > クエリ:end[x] > クエリ:initialize[x]

別のキーワード

  1. _builtin end
  2. ripper end_seen?
  3. _builtin exclude_end?
  4. _builtin end_with?
  5. matchdata end

ライブラリ

クラス

検索結果

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

Thread::ConditionVariable (66.0)

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

....new

a = Thread.start {
mutex.synchronize {
...
while (条件が満たされない)
cv.wait(mutex)
end

...
}
}

b = Thread.start {
mutex.synchronize {
# 上の条件を満たすための操作...
...す。

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{
@ful...
...@empty.signal if count == 1
}
end


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


alias send enq
alias recv deq
end


if __FILE__ == $0
q = TinyQue...

rexml/parsers/streamparser (66.0)

ストリーム式の XML パーサ。

...er'
class Listener
include REXML::StreamListener
def initialize
@events = []
end


def text(text)
@events << "text[#{text}]"
end


def tag_start(name, attrs)
@events << "tag_start[#{name}]"
end


attr_reader :events
end


xml = <<EOS
<members>
<member name="apple" color="re...
...&amp; <!-- comment here--> &bar;
</root>
EOS

class Listener
def method_missing(name, *args)
p [name, *args]
end

def respond_to_missing?(sym, include_private)
true
end

end


REXML::Parsers::StreamParser.new(xml, Listener.new).parse
# >> [:xmldecl, "1.0", "UTF-8", nil]
# >> [:text, "\n...
...]]
# >> [:doctype_end]
# >> [:text, "\n"]
# >> [:tag_start, "root", {"xmlns:foo"=>"http://example.org/foo", "xmlns:bar"=>"http://example.org/bar"}]
# >> [:cdata, "cdata is here"]
# >> [:text, "\n "]
# >> [:tag_start, "a", {"foo:att"=>"1", "bar:att"=>"2", "att"=>"<"}]
# >> [:tag_end, "a"]
# >> [:tex...

NEWS for Ruby 3.0.0 (60.0)

NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...> a=>1}, {}]
//}

* Arguments forwarding (`...`) now supports leading arguments.
16378

//emlist{
def method_missing(meth, ...)
send(:"do_#{meth}", ...)
end

//}

* Pattern matching (`case/in`) is no longer experimental. 17260
* One-line pattern matching is redesigned. [EXPERIMENTAL]...
..."f", 3]
in [*pre, String => x, String => y, *post]
p pre #=> ["a", 1]
p x #=> "b"
p y #=> "c"
p post #=> [2, "d", "e", "f", 3]
end

//}

* Endless method definition is added. [EXPERIMENTAL]
16746

//emlist{
def square(x) = x * x
//}

* Interpolated String literals are no long...
...el
* Kernel#clone when called with the `freeze: false` keyword will call `#initialize_clone` with the `freeze: false` keyword. 14266
* Kernel#clone when called with the `freeze: true` keyword will call `#initialize_clone` with the `freeze: true` keyword, and will return a frozen copy even if...

NEWS for Ruby 3.1.0 (60.0)

NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...ッドに渡されるだけの場合は、ブロックの引数を無名にできるようになりました。 11256

//emlist{
def foo(&)
bar(&)
end

//}

* ピン演算子に式を書けるようになりました。 17411

//emlist{
Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3...
...に持つ配列(シングルトンクラスを含まない)を返します。

//emlist[Class#subclasses][ruby]{
class A; end
class B < A; end
class C < B; end
class D < A; end
A.subclasses #=> [D, B]
B.subclasses #=> [C]
C.subclasses #=> []
//}

* Enumerable
* 新規メソッド...
...ct
* 新規メソッド
* StructClass#keyword_init? が追加されました。 18008
* 変更されたメソッド
* Struct#initialize はキーワード引数のみを渡すと警告されるようになりました。ハッシュを最初のメンバにするには、ハッシ...

ObjectSpace.#define_finalizer(obj) {|id| ...} -> Array (60.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 を参照しつ
づけるため。そ...
...避しています。

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

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

end

Bar.new
GC.start
//}

proc の呼び出しで発生した大域脱出(exitや例外)は無視されます...
...いでしょう。

//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 (60.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 を参照しつ
づけるため。そ...
...避しています。

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

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

end

Bar.new
GC.start
//}

proc の呼び出しで発生した大域脱出(exitや例外)は無視されます...
...いでしょう。

//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...

ruby 1.8.2 feature (60.0)

ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。

...CGI::Session#initialize [lib] [compat]
'no_hidden' オプションを指定できるようになりました。((<ruby-talk:123850>))

=== 2004-12-16

: Hash#eql? [ruby] [obsolete]
: Hash#hash [ruby] [obsolete]

削除
((<ruby-dev:25206>))?

=== 2004-12-14
: CGI::Session.initialize [lib] [chan...
...v:24896>))

=== 2004-11-16
: Test::Unit::AutoRunner.options [lib] [compat]
add new option --exclude (-x). ((<ruby-dev:24865>))

: CGI::Session.initialize [lib] [compat]
'sufix' オプションを設定できるようになりました。

=== 2004-11-10
: Array#pack [ruby] [change]
P 指定子...
...((<ruby-dev:24210>))

=== 2004-08-24
: CGI::Session::FileStore#initialize [lib] [bug]
セッションを保存するファイル名にセッション ID が使われるバグを修正しました。

=== 2004-08-23
: OpenSSL::SSL#pending [lib] [new]

=== 2004-08-14
: FileUtils.copy_entry [lib] [ne...

Thread::Backtrace::Location (54.0)

Ruby のフレームを表すクラスです。

...成されます。

//emlist[例1][ruby]{
# caller_locations.rb
def a(skip)
caller_locations(skip)
end

def b(skip)
a(skip)
end

def c(skip)
b(skip)
end


c(0..2).map do |call|
puts call.to_s
end

//}

例1の実行結果:

caller_locations.rb:2:in `a'
caller_locations.rb:5:in `b'
caller_l...
...attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end

end


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

//}

例2の実行結果:

init.rb:4:in `initialize'
init.rb:8:in `new'
init.rb:8:in `<main>'

=== 参考

* Ruby VM アドベント...

ERB.new(str, safe_level=NOT_GIVEN, trim_mode=NOT_GIVEN, eoutvar=NOT_GIVEN, trim_mode: nil, eoutvar: &#39;_erbout&#39;) -> ERB (48.0)

eRubyスクリプト から ERB オブジェクトを生成して返します。

...st => 9.95 }

attr_reader :product, :price

def initialize( product = "", price = "" )
@product = product
@price = price
end


def build
b = binding
# create and run templates, filling member data variables
ERB.new(<<~'END_PRODUCT', eoutvar: "@product").result b
<%=...
...PRODUCT[:name] %>
<%= PRODUCT[:desc] %>
END_PRODUCT
ERB.new(<<~'END_PRICE', eoutvar: "@price").result b
<%= PRODUCT[:name] %> -- <%= PRODUCT[:cost] %>
<%= PRODUCT[:desc] %>
END
_PRICE
end

end


# setup template data
listings = Listings.new
listings.build

puts listings....

ERB.new(str, safe_level=nil, trim_mode=nil, eoutvar=&#39;_erbout&#39;) -> ERB (48.0)

eRubyスクリプト から ERB オブジェクトを生成して返します。

...st => 9.95 }

attr_reader :product, :price

def initialize( product = "", price = "" )
@product = product
@price = price
end


def build
b = binding
# create and run templates, filling member data variables
ERB.new(<<-'END_PRODUCT'.gsub(/^\s+/, ""), 0, "", "@product").resu...
...<%= PRODUCT[:name] %>
<%= PRODUCT[:desc] %>
END
_PRODUCT
ERB.new(<<-'END_PRICE'.gsub(/^\s+/, ""), 0, "", "@price").result b
<%= PRODUCT[:name] %> -- <%= PRODUCT[:cost] %>
<%= PRODUCT[:desc] %>
END
_PRICE
end

end


# setup template data
listings = Listings.new
listin...

絞り込み条件を変える

ERB.new(str, trim_mode: nil, eoutvar: &#39;_erbout&#39;) -> ERB (48.0)

eRubyスクリプト から ERB オブジェクトを生成して返します。

...st => 9.95 }

attr_reader :product, :price

def initialize( product = "", price = "" )
@product = product
@price = price
end


def build
b = binding
# create and run templates, filling member data variables
ERB.new(<<~'END_PRODUCT', eoutvar: "@product").result b
<%=...
...PRODUCT[:name] %>
<%= PRODUCT[:desc] %>
END_PRODUCT
ERB.new(<<~'END_PRICE', eoutvar: "@price").result b
<%= PRODUCT[:name] %> -- <%= PRODUCT[:cost] %>
<%= PRODUCT[:desc] %>
END
_PRICE
end

end


# setup template data
listings = Listings.new
listings.build

puts listings....

WIN32OLE_TYPE#default_event_sources -> [WIN32OLE_TYPE] (48.0)

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

...WebEvent
def initialize
@completed = false
end

attr_reader :completed
end

source.ole_methods.each do |m|
WebEvent.module_eval do
define_method("on#{m.name}") do |*arg|
if arg[0] == "ページが表示されました"
@completed = true
end

puts "#...
...{Time.now}: #{m.name} was called"
p arg
end

end

end

evt = WIN32OLE_EVENT.new(ctl)
evt.handler = WebEvent.new
ctl.navigate2 'http://www.ruby-lang.org/'
loop do
break if evt.handler.completed
WIN32OLE_EVENT.message_loop
end

ctl.Quit

このプログラムを実行するとW...
<< < 1 2 3 4 5 ... > >>