別のキーワード
クラス
- Thread (24)
モジュール
- ObjectSpace (36)
キーワード
- Application (1)
- ConditionVariable (12)
- MonitorMixin (12)
-
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 3
. 0 . 0 (5) -
Profiler
_ _ (6) -
cgi
/ session (12) -
define
_ finalizer (24) -
drb
/ extservm (12) -
drb
/ gw (12) - fork (12)
-
rexml
/ parsers / streamparser (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) -
undefine
_ finalizer (12) - セキュリティモデル (12)
検索結果
先頭5件
-
Thread
. start(*arg) {|*arg| . . . } -> Thread (15119.0) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
...評価を開始します。
生成したスレッドを返します。
基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。
@param arg 引数 arg はそのままブロックに渡されます。スレッドの開始と同時にその......ードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。
for i in 1..5
Thread.start { p i }
end
上の例は以下のように書き直すべきです。
for i in 1..5
Thread.start(i) {|t| p t }
end... -
ruby 1
. 8 . 4 feature (90.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...* ((<ruby 1.8.4 feature/"Ruby/Tk">))
* ((<ruby 1.8.4 feature/REXML [compat]>))
* ((<ruby 1.8.4 feature/TCPSocket#initialize [bug]>))
* ((<ruby 1.8.4 feature/TCPServer#initialize [bug]>))
* ((<ruby 1.8.4 feature/"optparse">))
* ((<ruby 1.8.4 feature/"find">))
* ((<ruby 1.8.4 feature/Iconv......ました。((<ruby-dev:27964>))
module Foo
def initialize
super
end
end
class Bar
include Foo
def initialize
Foo.instance_method(:initialize).bind(self).call
end
end
Bar.new......:19 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
#
# * lib/webrick/cgi.rb (WEBrick::CGI#start): req.query_string should
# refer the value of QUERY_STRING. [ruby-list:41186]
WEBrick::CGI#startでreq.query_stringがオリジナルの
QUERY_STRINGを指すように。
: WEBrick::H... -
NEWS for Ruby 2
. 5 . 0 (60.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...g#casecmp? に文字列でない引数を与えた場合、TypeErrorを発生させずにnilを返すようにしました
13312
* String#start_with? は正規表現を受け取れるようになりました 13712
* String#delete_prefix, String#delete_prefix! を追加 12694
* Stri......バレッジをより厳密に評価することができます。
Coverage.start に与えるオプションによって計測する対象を指定することができます。
//emlist[][ruby]{
Coverage.start(lines: true, branches: true, methods: true)
//}
* Rubyで書かれたファイ......ドを実行していましたが、禁止されました。
Logger#initialize の引数は仕様としてファイル名としてのみ扱うようになりました。
14212
* Net::HTTP
* Net::HTTP#start の第3引数のデフォルト値を :ENV にしました。 13351... -
rexml
/ parsers / streamparser (60.0) -
ストリーム式の XML パーサ。
...バックメソッドを呼び出します。順が前後することはありません。
===[a:example] StreamParserの例
この例では tag_start と text をオーバーライドして
開始タグとテキストの情報を受け取れるようにしています。
空白や改行もテキ......re 'rexml/streamlistener'
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......ew(xml, listener).parse
listener.events
# => ["tag_start[members]",
# "text[\n ]",
# "tag_start[member]",
# "text[\n ]",
# "tag_start[comment]",
# "text[comment here]",
# "text[\n ]",
# "text[\n ]",
# "tag_start[member]",
# "text[\n]",
# "text[\n]"]
//}... -
ruby 1
. 6 feature (54.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...Errno::EAGAIN
Errno::EWOULDBLOCK
=> ruby 1.6.8 (2002-12-24) [i586-linux]
Errno::EAGAIN
-:2: uninitialized constant EWOULDBLOCK at Errno (NameError)
=> ruby 1.6.8 (2003-02-13) [i586-linux]
Errno::EAGAIN
Errno::EAGAIN
=......了しない不具合が修正さ
れました。((<ruby-bugs-ja:PR#223>))
trap(:TERM, "EXIT")
END{
puts "exit"
}
Thread.start { Thread.stop }
sleep
: 2002-04-17: Regexp#inspect
((<ruby-bugs-ja:PR#222>))
p %r{\/}
=> ruby 1.6.7 (2002-03-01) [i586-linux]......autoload が効いていませんでした。((<ruby-dev:16379>))
autoload :Fcntl, "fcntl"
require "fcntl"
=> -:2:in `require': uninitialized constant Fcntl (NameError)
from -:2
ruby 1.6.7 (2002-03-01) [i586-linux]
=> ruby 1.6.7 (2002-03-15) [i586-linux]
: 200... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (36.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 (36.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... -
Profiler
_ _ (34.0) -
プロファイラの実装です。 Profiler__.start_profile 実行から、Profiler__.stop_profile までの 区間の実行コードのプロファイルを取得します。
...イラの実装です。
Profiler__.start_profile 実行から、Profiler__.stop_profile までの
区間の実行コードのプロファイルを取得します。
以下の使用例を参照してください。
require 'profiler'
Profiler__.start_profile
require 'tk' # この......uire
17.37 1.47 0.37 1 370.00 370.00 TclTkIp#initialize
8.92 1.66 0.19 514 0.37 0.37 Module#method_added
6.57 1.80 0.14 1 140.00 140.00 Profiler__.start_profile
4.23 1.89 0.09 15 6.00 10.67 Ker... -
MonitorMixin (30.0)
-
スレッドの同期機構としてのモニター機能を提供するモジュールです。
...in) # 配列にモニタ機能を追加
empty_cond = buf.new_cond # 配列が空であるかないかを通知する条件変数
# consumer
Thread.start do
loop do
buf.synchronize do # ロックする
empty_cond.wait_while { buf.empty? } # 配列が空である間はロックを開放......in をクラス定義の際に Module#include を使って
利用する場合は、initialize メソッドで super() か super を呼んで、初期化する必要があります。
スーパークラスの initialize に引数を渡したい場合は super を、そうでない場合は super()......クラスは Object であり、その initialize は引数を受け付けないので
super ではなく super() を呼ぶ必要があります。
//emlist[include する例][ruby]{
require 'monitor'
class MyObject
include MonitorMixin
def initialize(val)
super()
@value = val
end... -
drb
/ extservm (30.0) -
DRb::ExtServManager を定義しているライブラリ。
...nager.new
DRb.start_service("druby://localhost:10234", s)
# drb のプロセスの終了を待つ
DRb.thread.join
service.rb:
require 'drb/drb'
require 'drb/extserv'
# サービスを表すクラス
class Service
include DRb::DRbUndumped
def initialize(service_name)......@service_name = service_name
end
def hello
"You invoke #{@service_name}"
end
end
puts "Start #{ARGV[0]}"
# ARGV の最後2つを除いた部分は ExtServManager.command で
# 指定した引数が渡される
front = Service.new(ARGV[0])
# 通信のた......サーバスレッドが
# 終了するため、以下の行が実行される
puts "Stop #{ARGV[0]}"
client.rb:
require 'drb/drb'
DRb.start_service
s = DRbObject.new_with_uri("druby://localhost:10234")
# No1 と名付けられたサービスを呼び出す
service1 = s.service(...