ライブラリ
- ビルトイン (66)
- benchmark (1)
- coverage (4)
- date (42)
- drb (14)
-
drb
/ acl (1) - getoptlong (1)
- irb (1)
- monitor (2)
-
net
/ http (19) -
net
/ imap (2) -
net
/ pop (20) -
net
/ smtp (39) - objspace (4)
- open3 (2)
- openssl (3)
- psych (22)
-
rdoc
/ code _ object (2) -
rdoc
/ markup (1) -
rdoc
/ markup / formatter (1) - resolv (1)
-
rexml
/ document (3) -
rexml
/ parsers / pullparser (3) -
rexml
/ parsers / sax2parser (5) -
rexml
/ sax2listener (3) -
rexml
/ streamlistener (1) - socket (5)
- timeout (2)
-
webrick
/ cgi (1) -
webrick
/ httpauth / basicauth (1) -
webrick
/ httpproxy (1) -
webrick
/ httpserver (2) -
webrick
/ httpservlet / abstract (7) -
webrick
/ httputils (8) -
webrick
/ server (2) - win32ole (1)
クラス
- Array (16)
- Coverage (4)
-
DRb
:: DRbObject (1) -
DRb
:: DRbServer (9) - Date (26)
- DateTime (16)
- GetoptLong (1)
- MatchData (8)
-
Net
:: HTTP (17) -
Net
:: HTTPResponse (2) -
Net
:: IMAP (2) -
Net
:: POP3 (11) -
Net
:: POPMail (9) -
Net
:: SMTP (39) - Object (1)
-
OpenSSL
:: SSL :: SSLServer (3) -
Psych
:: Handler (4) -
Psych
:: Nodes :: Document (1) -
Psych
:: Nodes :: Mapping (3) -
Psych
:: Nodes :: Sequence (2) -
Psych
:: Parser (3) -
Psych
:: Stream (2) -
Psych
:: Visitors :: YAMLTree (3) -
RDoc
:: CodeObject (2) -
RDoc
:: Markup (1) -
RDoc
:: Markup :: Formatter (1) -
REXML
:: Parent (3) -
REXML
:: Parsers :: PullEvent (3) -
REXML
:: Parsers :: SAX2Parser (5) - Socket (2)
- String (4)
- Symbol (2)
- Thread (4)
-
Thread
:: ConditionVariable (2) -
Thread
:: Queue (3) -
Thread
:: SizedQueue (3) -
WEBrick
:: CGI (1) -
WEBrick
:: GenericServer (2) -
WEBrick
:: HTTPServer (1) -
WEBrick
:: HTTPServlet :: AbstractServlet (6) -
WEBrick
:: HTTPUtils :: FormData (8)
モジュール
- Benchmark (1)
- DRb (3)
- GC (2)
-
GC
:: Profiler (4) - IRB (1)
- Kernel (9)
- ObjectSpace (8)
- Open3 (2)
- Psych (2)
-
REXML
:: SAX2Listener (3) -
REXML
:: StreamListener (1) -
Socket
:: Constants (2) - Timeout (2)
キーワード
- ACL (1)
- ANY (2)
- APOP (1)
- AbstractServlet (1)
- BLOCK (2)
- BasicAuth (1)
- ConditionVariable (1)
- DRbServer (1)
- ERESTART (1)
- Emitter (1)
- FLOW (1)
- HTTPProxyServer (1)
- HTTPServer (1)
-
IFF
_ XMIT _ DST _ RELEASE (2) -
MSG
_ FLUSH (2) - Monitor (1)
- MonitorMixin (1)
-
NEWS for Ruby 2
. 1 . 0 (1) -
NEWS for Ruby 2
. 3 . 0 (1) -
NEWS for Ruby 2
. 5 . 0 (1) -
NEWS for Ruby 2
. 6 . 0 (1) -
NEWS for Ruby 2
. 7 . 0 (1) -
NEWS for Ruby 3
. 0 . 0 (1) - Proxy (1)
- Queue (1)
- SOA (1)
-
STATUS
_ STARTED (1) - SizedQueue (1)
- Stream (1)
- TCPServer (1)
- UTF16BE (1)
- UTF16LE (1)
- UTF8 (1)
- WIN32OLE (1)
- [] (10)
- []= (6)
- abort (2)
- accept (1)
-
add
_ tag (1) -
add
_ word _ pair (1) - all (3)
-
allocation
_ sourcefile (1) -
allocation
_ sourceline (1) - at (1)
-
auth
_ cram _ md5 (1) -
auth
_ login (1) -
auth
_ plain (1) - authenticate (1)
-
backtrace
_ locations (2) - bmbm (1)
- broadcast (1)
- byteoffset (2)
- caller (3)
-
caller
_ locations (2) -
capable
_ auth _ types (1) -
capable
_ cram _ md5 _ auth? (1) -
capable
_ login _ auth? (1) -
capable
_ plain _ auth? (1) -
capable
_ starttls? (1) -
cgi
/ session (1) - civil (2)
- clear (1)
- commercial (2)
- config (1)
- coverage (1)
-
default
_ acl (1) -
default
_ argc _ limit (1) -
default
_ id _ conv (1) -
default
_ load _ limit (1) -
define
_ finalizer (2) -
delete
_ all (2) -
delete
_ prefix (1) -
delete
_ prefix! (1) - deq (2)
-
did
_ you _ mean (1) -
disable
_ starttls (1) -
do
_ DELETE (1) -
do
_ GET (1) -
do
_ HEAD (1) -
do
_ OPTIONS (1) -
do
_ POST (1) -
do
_ PUT (1) - drb (1)
-
drb
/ extservm (1) -
drb
/ gw (1) -
drb
/ ssl (1) -
drb
/ unix (1) -
each
_ data (1) - ehlo (1)
-
enable
_ ssl (1) -
enable
_ starttls (1) -
enable
_ starttls _ auto (1) -
enable
_ tls (1) -
end
_ with? (2) - england (1)
- esmtp= (1)
- exit (1)
- exit! (1)
- filename (1)
- filename= (1)
- fill (6)
- finish (1)
- foreach (1)
- fork (1)
- front (1)
-
garbage
_ collect (2) - gregorian (1)
- head (1)
- helo (1)
- httpdate (2)
- iso8601 (2)
- italy (1)
- jd (2)
- jisx0301 (2)
- julian (1)
- list (1)
- listen (5)
- load (1)
-
local
_ host= (1) -
local
_ port= (1) - mail (3)
- name (1)
- name= (1)
-
net
/ http (1) -
net
/ imap (1) -
net
/ pop (1) -
net
/ smtp (1) - new (6)
-
new
_ start (1) -
new
_ with _ uri (1) - now (1)
- offset (2)
-
open
_ timeout= (1) - optparse (1)
- ordinal (2)
- parse (3)
-
peek
_ result (1) -
pipeline
_ start (2) - pop (5)
-
primary
_ server (1) -
primary
_ server= (1) -
proxy
_ address= (1) -
proxy
_ from _ env= (1) -
proxy
_ from _ env? (1) -
proxy
_ pass= (1) -
proxy
_ port= (1) -
proxy
_ user= (1) -
raw
_ data (1) -
rb
_ compile _ file (1) -
rb
_ gc _ mark _ locations (1) -
rb
_ gc _ start (1) -
rb
_ thread _ start (1) -
rb
_ thread _ start _ 0 (1) -
rb
_ thread _ start _ timer (1) -
read
_ body (2) - ready (1)
- report (1)
-
respond
_ to? (1) - result (1)
-
rexml
/ parsers / pullparser (1) -
rexml
/ parsers / sax2parser (1) -
rexml
/ parsers / streamparser (1) -
rexml
/ parsers / ultralightparser (1) - rfc2822 (2)
- rfc3339 (2)
- rfc822 (2)
-
rinda
/ rinda (1) -
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 4 feature (1) - running? (1)
-
send
_ mail (1) - sendmail (1)
-
set
_ debug _ output (1) - shift (2)
- signal (1)
- slice! (3)
- ssl? (1)
-
ssl
_ timeout= (1) -
start
_ doc (1) -
start
_ document (2) -
start
_ element (1) -
start
_ element? (1) -
start
_ immediately (1) -
start
_ immediately= (1) -
start
_ mapping (1) -
start
_ prefix _ mapping (1) -
start
_ sequence (1) -
start
_ service (1) -
start
_ stream (1) -
start
_ with? (2) - started (1)
- started? (4)
- starttls (3)
- starttls? (1)
-
starttls
_ always? (1) -
starttls
_ auto? (1) -
stop
_ doc (1) - strptime (2)
-
tag
_ start (1) - timeout (2)
- tls? (1)
-
to
_ ary (1) - today (2)
-
total
_ time (1) -
trace
_ object _ allocations _ start (1) -
trace
_ object _ allocations _ stop (1) -
undefine
_ finalizer (1) -
valid
_ civil? (1) -
valid
_ commercial? (1) -
valid
_ date? (1) -
valid
_ jd? (1) -
valid
_ ordinal? (1) - verbose (1)
- verbose= (1)
-
virtual
_ host (1) - webrick (1)
-
webrick
/ cgi (1) - xmlschema (2)
- セキュリティモデル (1)
検索結果
先頭5件
-
Thread
:: ConditionVariable (37.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
スレッドの同期機構の一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが
できません。リ... -
Thread
:: ConditionVariable # broadcast -> self (37.0) -
状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
状態変数を待っているスレッドをすべて再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。
@return 常に self を返します。
//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true
3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)
... -
Thread
:: ConditionVariable # signal -> self (37.0) -
状態変数を待っているスレッドを1つ再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
状態変数を待っているスレッドを1つ再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。
@return 常に self を返します。
//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true
3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)
... -
Thread
:: Queue # deq(non _ block = false) -> object (37.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: Queue # pop(non _ block = false) -> object (37.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: Queue # shift(non _ block = false) -> object (37.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: SizedQueue # deq(non _ block = false) -> object (37.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
Thread
:: SizedQueue # pop(non _ block = false) -> object (37.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
Thread
:: SizedQueue # shift(non _ block = false) -> object (37.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (37.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (37.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー... -
cgi
/ session (37.0) -
CGI のセッション管理を行うライブラリ。
CGI のセッション管理を行うライブラリ。
セッションとは、HTTP の一連のリクエストとレスポンスが属するべき
コンテクスト (状況) のことをいいます。
セッション管理には従来通り cgi ライブラリが提供する
クッキーを使用してもいいですが、
この cgi/session を使用した方がよりわかりやすいでしょう。
セッション情報は Hash ライクなインターフェースです。
セッションはセッション ID とプログラムが記録した
セッション情報から構成されます。
デフォルトでは CGI::Session::FileStore が使用され、
記録できるのは文字列のみです。
セッション情報... -
drb
/ gw (37.0) -
drb 通信を中継するゲートウェイ(DRb::GW)と、 中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、 および DRb::DRbObject への拡張が含まれています。
drb 通信を中継するゲートウェイ(DRb::GW)と、
中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、
および DRb::DRbObject への拡張が含まれています。
このライブラリを利用することで直接通信することが不可能であるような
2つのプロセスが中継プロセスを経て drb によりやりとりできるようになります。
drb による通信とは、オブジェクトをプロセス間でやりとりすること、
およびそのメソッドを呼び出すことです。
中継プロセスが保持している DRb::GW オブジェクトに
それ以外のプロセスがオブジェクトを登録したり、登録済みの
オブジェクトを取り出... -
optparse (37.0)
-
コマンドラインのオプションを取り扱うためのライブラリです。
コマンドラインのオプションを取り扱うためのライブラリです。
=== チュートリアル
optparse を使う場合、基本的には
(1) OptionParser オブジェクト opt を生成する。
(2) オプションを取り扱うブロックを opt に登録する。
(3) opt.parse(ARGV) でコマンドラインを実際に parse する。
というような流れになります。
* optiondef
* optionarg
* longoption
* help
* subcmd
* argv
* hyphen_start_file
====[a:optiondef]... -
ruby 1
. 8 . 4 feature (37.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され... -
Array
# []=(nth , val) (31.0) -
nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、 拡張した領域を nil で初期化します。
nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、
拡張した領域を nil で初期化します。
@param nth インデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@param val 設定したい要素の値を指定します。
@raise TypeError 引数 nth に整数以外の(暗黙の型変換が行えない)オブジェ
クトを指定した場合に発生します。
@raise Index... -
Array
# [](nth) -> object | nil (28.0) -
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
@param nth インデックスを整数で指定します。
先頭の要素が 0 番目になります。nth の値が負の時には末尾から
のインデックスと見倣します。末尾の要素が -1 番目になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定... -
Array
# at(nth) -> object | nil (28.0) -
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
@param nth インデックスを整数で指定します。
先頭の要素が 0 番目になります。nth の値が負の時には末尾から
のインデックスと見倣します。末尾の要素が -1 番目になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定... -
MatchData
# [](range) -> [String] (25.0) -
Range オブジェクト range の範囲にある要素からなる部分配列を返します。
Range オブジェクト range の範囲にある要素からなる部分配列を返します。
@param range start..end 範囲式。
//emlist[例][ruby]{
/(foo)(bar)/ =~ "foobarbaz"
p $~[0..2] # => ["foobar", "foo", "bar"]
//} -
Array
# slice!(range) -> Array | nil (22.0) -
指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil を返します。
指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil
を返します。
@param start 削除したい部分配列の先頭のインデックスを整数で指定します。
@param len 削除したい部分配列の長さを整数で指定します。
@param range 削除したい配列の範囲を Range オブジェクトで指定します。
//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.slice!(1, 2) #=> ["b", "c"]
a #=> ["a"]
a = [ "a", "... -
REXML
:: Parent # []=(index , node) (22.0) -
子ノード列上の指定した場所を node で置き換えます。
子ノード列上の指定した場所を node で置き換えます。
Array#[]= と同じ指定が可能です。
@param index 変更場所の index (Integer)
@param range 変更場所の範囲 (Range)
@param start 変更範囲の最初の位置 (Integer)
@param length 変更範囲の個数 (Integer)
@param node 置き換えるノード -
REXML
:: Parent # []=(range , node) (22.0) -
子ノード列上の指定した場所を node で置き換えます。
子ノード列上の指定した場所を node で置き換えます。
Array#[]= と同じ指定が可能です。
@param index 変更場所の index (Integer)
@param range 変更場所の範囲 (Range)
@param start 変更範囲の最初の位置 (Integer)
@param length 変更範囲の個数 (Integer)
@param node 置き換えるノード -
Thread
# backtrace _ locations(range) -> [Thread :: Backtrace :: Location] | nil (22.0) -
スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。
スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@param start 開始フレームの位置を数値で指定します。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
Kernel.#caller_locations と似ていますが、本メソッドは self に限定
した情報を返します。
//emlist[例][ruby]... -
ACL (19.0)
-
drb で用いる ACL(Access Control List)クラス。
drb で用いる ACL(Access Control List)クラス。
Access control list は "allow" と "deny" の2つからなります。
"all" や "*" という文字列は任意のアドレスにマッチします。
IPAddr が取り扱える任意のアドレス/アドレスマスクを
使うことができます。
ACLのエントリーは、以下の例に示すように、
"allow_or_deny", "addr1",
"allow_or_deny", "addr2",
:
という文字列配列で表現されます。
@see DRb.#install_acl, DRb.#st... -
Benchmark
. # bmbm(width = 0) {|job| . . . } -> [Benchmark :: Tms] (19.0) -
Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを 実行します。
Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを
実行します。
ベンチマークの結果は GC の影響によって歪められてしまうことがあります。
このメソッドは与えられたブロックを二度実行する事によってこの影響を最小化します。
一回目は実行環境を安定化するためにリハーサルとして実行します。二回目は本番として
実行します。
二回目のブロック実行の前に GC.start を実行しますが、この実行時間は計測には
含まれません。しかし、実際にはこのメソッドを使用しても、GC などの影響を分離する
ことは保証されません。
@param width ラベルの幅を... -
DRb
. # primary _ server -> DRb :: DRbServer|nil (19.0) -
ローカルプロセスのプライマリサーバーを返します。
ローカルプロセスのプライマリサーバーを返します。
プライマリサーバとは DRb.#start_service によって
起動されるサーバです。
サーバが動いていない場合は nil を返します。
@see DRb.#stop_service -
DRb
. # primary _ server=(server) (19.0) -
ローカルプロセスのプライマリサーバーを変更します。
ローカルプロセスのプライマリサーバーを変更します。
通常、プライマリサーバは DRb.#start_service などが
設定するものであり、ユーザが変更すべきではありません。
このメソッドは dRuby の内部構造を良く理解した上で利用してください。 -
DRb
:: DRbObject . new _ with _ uri(uri) -> DRb :: DRbObject (19.0) -
URI から新しい DRbObject を生成します。
URI から新しい DRbObject を生成します。
別プロセスの DRb.#start_service で指定したフロントオブジェクトを
指すリモートオブジェクトを取り出します。
@param uri URI リモートオブジェクトを指定するための URI (文字列) -
DRb
:: DRbServer (19.0) -
dRuby サーバクラス。
dRuby サーバクラス。
dRuby サーバは
* リモートからのメソッド呼び出しを受け取る
* ローカルオブジェクトをリモートプロセスにリモートオブジェクトとして
渡す
などを実現するために必要です。そのため、このような操作をする前に
サーバを起動する必要があります。
他のプロセスのリモートメソッドをマーシャリング可能な
引数のみで呼び出すならばサーバは必要ありません。
複数のサーバを起動することもできますが、通常は
DRb.#start_service でサーバを起動します。 -
DRb
:: DRbServer # config -> Hash (19.0) -
サーバの設定を返します。
サーバの設定を返します。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer # front -> object (19.0) -
サーバに設定されたフロントオブジェクトを返します。
サーバに設定されたフロントオブジェクトを返します。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . default _ acl(acl) -> () (19.0) -
サーバ起動時の :acl オプションのデフォルト値を指定します。
サーバ起動時の :acl オプションのデフォルト値を指定します。
初期値は nil です。
@see DRb::DRbServer.new, DRb.#start_service, ACL -
DRb
:: DRbServer . default _ argc _ limit(argc) -> () (19.0) -
サーバ起動時の :argc_limit オプションのデフォルト値を指定します。
サーバ起動時の :argc_limit オプションのデフォルト値を指定します。
初期値は 256 です。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . default _ id _ conv(idconv) -> () (19.0) -
サーバ起動時の :id_conv オプションのデフォルト値を指定します。
サーバ起動時の :id_conv オプションのデフォルト値を指定します。
初期値は DRb::DRbIdConv のインスタンスです。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . default _ load _ limit(sz) -> () (19.0) -
サーバ起動時の :load_limit オプションのデフォルト値を指定します。
サーバ起動時の :load_limit オプションのデフォルト値を指定します。
初期値は25MBです。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . new(uri=nil , front=nil , config _ or _ acl=nil) -> DRb :: DRbServer (19.0) -
dRuby サーバを起動し、DRbServerのインスタンスを返します。
dRuby サーバを起動し、DRbServerのインスタンスを返します。
uri に URI を文字列で指定すると、それに起動したサービスを bind します。
通常は 'druby://<hostname>:<port>' という形式の URI を指定します。
このときは TCP が通信手段として使われます。
'drbunix:' のような他のプロトコルを指定することもできます。
front でフロントオブジェクト(URI に結び付けられるオブジェクト)を
設定します。
config で Hash で設定を渡します。以下の項目が利用できます。
: :idconv
dRuby内... -
DRb
:: DRbServer . verbose -> bool (19.0) -
サーバ起動時の :verbose オプションのデフォルト値を返します。
サーバ起動時の :verbose オプションのデフォルト値を返します。
@see DRb::DRbServer.new, DRb.#start_service,
DRb::DRbServer.verbose= -
DRb
:: DRbServer . verbose=(on) (19.0) -
サーバ起動時の :verbose オプションのデフォルト値を指定します。
サーバ起動時の :verbose オプションのデフォルト値を指定します。
初期値は false です。
@see DRb::DRbServer.new, DRb.#start_service -
GC
# garbage _ collect(full _ mark: true , immediate _ sweep: true) -> nil (19.0) -
ガーベージコレクトを開始します。
ガーベージコレクトを開始します。
GC.start や ObjectSpace.#garbage_collect と同じ働きをします。
GC.disable により GC が禁止されている場合でもガベージコレクトを開始します。
nil を返します。
@param full_mark マイナー GC を動作させる場合は false を、そうでない場
合は true を指定します。
@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
を、そう... -
GC
:: Profiler . raw _ data -> [Hash , . . . ] | nil (19.0) -
GC のプロファイル情報を GC の発生ごとに Hash の配列 (:GC_INVOKE_TIME が早いもの順)で返します。GC::Profiler が有効になっ ていない場合は nil を返します。
GC のプロファイル情報を GC の発生ごとに Hash の配列
(:GC_INVOKE_TIME が早いもの順)で返します。GC::Profiler が有効になっ
ていない場合は nil を返します。
例:
GC::Profiler.enable
GC.start
GC::Profiler.raw_data
# => [
{
:GC_TIME=>1.3000000000000858e-05,
:GC_INVOKE_TIME=>0.010634999999999999,
:HEAP_USE_SIZE=>289640,
... -
GC
:: Profiler . report(out = $ stdout) -> nil (19.0) -
GC::Profiler.result の結果を out に出力します。
GC::Profiler.result の結果を out に出力します。
@param out 結果の出力先を指定します。デフォルトは $stdout です。
//emlist[例][ruby]{
GC::Profiler.enable
GC.start
GC::Profiler.report
# => GC 4 invokes.
# Index Invoke Time(sec) Use Size(byte) Total Size(byte) Total Object GC Time(ms)
# 1... -
GC
:: Profiler . total _ time -> Float (19.0) -
GC のプロファイル情報から GC の総計時間を計算し、msec 単位で返します。
GC のプロファイル情報から GC の総計時間を計算し、msec 単位で返します。
//emlist[例][ruby]{
GC::Profiler.enable
GC.start
GC::Profiler.total_time # => 0.0011530000000000012
//} -
Monitor (19.0)
-
スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。
スレッドの同期機構としてのモニター機能を提供するクラスです。
また同じスレッドから何度も lock できる Mutex としての機能も提供します。
MonitorMixin を include し、いくつかの別名を定義したクラスです。
=== 例
//emlist[消費者、生産者問題の例][ruby]{
require 'monitor'
buf = []
mon = Monitor.new
empty_cond = mon.new_cond
# consumer
Thread.start do
loop do
mon.synchronize do
empty... -
MonitorMixin (19.0)
-
スレッドの同期機構としてのモニター機能を提供するモジュールです。
スレッドの同期機構としてのモニター機能を提供するモジュールです。
クラスに Module#include したり、オブジェクトに
Object#extend したりすることでそのクラス/オブジェクトに
モニタ機能を追加します。
=== 例
//emlist[消費者、生産者問題の例][ruby]{
require 'monitor'
buf = []
buf.extend(MonitorMixin) # 配列にモニタ機能を追加
empty_cond = buf.new_cond # 配列が空であるかないかを通知する条件変数
# consumer
Thread.start do
lo... -
NEWS for Ruby 2
. 3 . 0 (19.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.3.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.2.0 以降の変更
=== 言語仕様の変更
* frozen-string-literal プラグマ:
* 実験的な機能として fronzen-string-literal というプラグマが導入されました。
897... -
NEWS for Ruby 3
. 0 . 0 (19.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...YAML. 8382
* Use officially discouraged. Read OpenStruct@Caveats section.
* Pathname
* Ractor compatible.
* Psych
* Update to Psych 3.3.0
* This version is Ractor compatible.
* Reline
* Update to Reline 0.1.5
* RubyGems
* Update to RubyGems 3.2.3
* StringIO
* U... -
Net
:: HTTP # head(path , header = nil) -> Net :: HTTPResponse (19.0) -
サーバ上の path にあるエンティティのヘッダのみを取得します。 Net::HTTPResponse のインスタンスを返します。
サーバ上の path にあるエンティティのヘッダのみを取得します。
Net::HTTPResponse のインスタンスを返します。
header が nil
でなければ、リクエストを送るときにその内容を HTTP ヘッダとして
送ります。 header は { 'Accept' = > '*/*', ... } という
形のハッシュでなければいけません。
@param path 取得するエンティティのパスを文字列で指定します。
@param header リクエストの HTTP ヘッダをハッシュで指定します。
1.1 互換モードの場合は、レスポンスに応じて例外が発生します。
//em... -
Net
:: HTTP # local _ host=(host) (19.0) -
接続に用いるローカルホスト名を指定します。
接続に用いるローカルホスト名を指定します。
nil の場合システムが適当にローカルホストを
決めます。
デフォルトは nil です。
@param host ホスト名、もしくはアドレスを示す文字列
//emlist[例][ruby]{
require 'net/http'
http = Net::HTTP.new("www.example.com")
http.local_host = "192.168.0.5"
http.local_port = "53043"
http.start do |h|
p h.get("/").body
end
//}
@see Net::H... -
Net
:: HTTP # local _ port=(port) (19.0) -
接続に用いるローカルポートを設定します。
接続に用いるローカルポートを設定します。
nil の場合システムが適当にローカルポートを
決めます。
デフォルトは nil です。
@param port ローカルポート(数値、もしくはサービス名文字列)
//emlist[例][ruby]{
require 'net/http'
http = Net::HTTP.new("www.example.com")
http.local_host = "192.168.0.5"
http.local_port = "53043"
http.start do |h|
p h.get("/").body
end
//}
@see Net... -
Net
:: HTTP # open _ timeout=(seconds) (19.0) -
接続時に待つ最大秒数を設定します。
接続時に待つ最大秒数を設定します。
この秒数たってもコネクションが
開かなければ例外 Net::OpenTimeout を発生します。
nilを設定するとタイムアウトしなくなります。
以下のコネクションを開くメソッドで有効です。
* Net::HTTP.open
* Net::HTTP#start
@param second 待つ秒数を指定します。
@see Net::HTTP#read_timeout, Net::HTTP#open_timeout -
Net
:: HTTP # proxy _ address=(address) (19.0) -
プロクシのアドレス(ホスト名、IPアドレス)を指定します。
プロクシのアドレス(ホスト名、IPアドレス)を指定します。
Net::HTTP#start で接続する前に設定する必要があります。
@param address プロクシのホスト名、もしくはIPアドレスを表す文字列
@see Net::HTTP#proxy_address=, Net::HTTP#proxy_port, Net::HTTP.new -
Net
:: HTTP # proxy _ from _ env=(boolean) (19.0) -
プロクシ情報を環境変数から得るかどうかを指定します。
プロクシ情報を環境変数から得るかどうかを指定します。
Net::HTTP#start で接続する前に設定する必要があります。
@param boolean プロクシ情報を環境変数から得るかどうかを指定する真偽値
@see Net::HTTP#proxy_from_env? -
Net
:: HTTP # proxy _ from _ env? -> bool (19.0) -
プロクシ情報を環境変数から得る場合に true を返します。
プロクシ情報を環境変数から得る場合に true を返します。
基本的に Net::HTTP.new や Net::HTTP.start の proxy_address
引数に :ENV を渡した場合に true になります。
環境変数 http_proxy が定義されていなくともこの値は true を返します。
その場合にはプロクシは利用されず直接サーバに接続します。
@see Net::HTTP#proxy_from_env= -
Net
:: HTTP # proxy _ pass=(pass) (19.0) -
プロクシのユーザ認証のパスワードを設定します。
プロクシのユーザ認証のパスワードを設定します。
Net::HTTP#start で接続する前に設定する必要があります。
@param pass パスワード文字列
@see Net::HTTP#proxy_pass, Net::HTTP#proxy_user, Net::HTTP.new -
Net
:: HTTP # proxy _ port=(port) (19.0) -
プロクシのポート番号を設定します。
プロクシのポート番号を設定します。
Net::HTTP#start で接続する前に設定する必要があります。
@param port ポート番号(整数、文字列)
@see Net::HTTP#proxy_port, Net::HTTP#proxy_address, Net::HTTP.new -
Net
:: HTTP # proxy _ user=(user) (19.0) -
プロクシのユーザ認証のユーザ名を設定します。
プロクシのユーザ認証のユーザ名を設定します。
Net::HTTP#start で接続する前に設定する必要があります。
@param user ユーザ名文字列
@see Net::HTTP#proxy_pass, Net::HTTP#proxy_user, Net::HTTP.new -
Net
:: HTTP # ssl _ timeout=(sec) (19.0) -
SSL/TLS のタイムアウト秒数を設定します。
SSL/TLS のタイムアウト秒数を設定します。
HTTP セッション開始時(Net::HTTP#start など)に
OpenSSL::SSL::SSLContext#ssl_timeout= で
タイムアウトを設定します。
デフォルト値は OpenSSL::SSL::SSLContext#ssl_timeout= と
同じで、OpenSSL のデフォルト値(300秒)を用います。
@param sec タイムアウト秒数
@see Net::HTTP#ssl_timeout,
OpenSSL::SSL::SSLContext#ssl_timeout= -
Net
:: HTTPResponse # read _ body {|str| . . . . } -> () (19.0) -
ブロックを与えなかった場合にはエンティティボディを 文字列で返します。 ブロックを与えた場合には エンティティボディを少しずつ取得して順次ブロックに 文字列で与えます。
ブロックを与えなかった場合にはエンティティボディを
文字列で返します。
ブロックを与えた場合には
エンティティボディを少しずつ取得して順次ブロックに
文字列で与えます。
レスポンスがボディを持たない場合には nil を返します。
//emlist[例1 ブロックを与えずに一度に結果取得][ruby]{
require 'net/http'
uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
response.read_body[0..10] # => "<... -
Net
:: HTTPResponse # read _ body(dest=nil) -> String|nil (19.0) -
ブロックを与えなかった場合にはエンティティボディを 文字列で返します。 ブロックを与えた場合には エンティティボディを少しずつ取得して順次ブロックに 文字列で与えます。
ブロックを与えなかった場合にはエンティティボディを
文字列で返します。
ブロックを与えた場合には
エンティティボディを少しずつ取得して順次ブロックに
文字列で与えます。
レスポンスがボディを持たない場合には nil を返します。
//emlist[例1 ブロックを与えずに一度に結果取得][ruby]{
require 'net/http'
uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
response.read_body[0..10] # => "<... -
Net
:: POP3 # set _ debug _ output(f) -> () (19.0) -
デバッグ用の出力 f をセットします。
デバッグ用の出力 f をセットします。
このメソッドは深刻なセキュリティホールの原因となりえます。
デバッグ以外の用途では使わないでください。
f は << メソッドを持っているオブジェクトでなければなりません。
使用例:
require 'net/pop'
pop = Net::POP3.new('pop.example.com', 110)
pop.set_debug_output $stderr
pop.start('YourAccount', 'YourPassword') {
p pop.n_bytes
}
実行結果:
POP sessi... -
Net
:: POP3 . APOP(is _ apop) -> Class (19.0) -
bool が真なら Net::APOP クラス、偽なら Net::POP3 クラスを返します。
bool が真なら Net::APOP クラス、偽なら Net::POP3 クラスを返します。
使用例:
require 'net/pop'
pop = Net::POP3::APOP($isapop).new(addr, port)
pop.start(account, password) {
....
}
@param is_apop 真の場合に Net::APOP を返します。 -
Net
:: POP3 . delete _ all(address , port = nil , account , password , isapop=false) -> () (19.0) -
POP セッションを開始し、サーバ上のメールを全て消去します。
POP セッションを開始し、サーバ上のメールを全て消去します。
ブロックを与えられたときは消去する前に各メールを引数としてブロックを呼びだします。
メールは Net::POPMail のインスタンスとして渡されます。
port に nil を渡すと、適当なポート(通常は110、SSL利用時には 995)を
使います。
使用例:
require 'net/pop'
Net::POP3.delete_all(addr, nil, 'YourAccount', 'YourPassword') do |m|
puts m.pop
end
@param address P... -
Net
:: POP3 . delete _ all(address , port = nil , account , password , isapop=false) {|mail| . . . . } -> () (19.0) -
POP セッションを開始し、サーバ上のメールを全て消去します。
POP セッションを開始し、サーバ上のメールを全て消去します。
ブロックを与えられたときは消去する前に各メールを引数としてブロックを呼びだします。
メールは Net::POPMail のインスタンスとして渡されます。
port に nil を渡すと、適当なポート(通常は110、SSL利用時には 995)を
使います。
使用例:
require 'net/pop'
Net::POP3.delete_all(addr, nil, 'YourAccount', 'YourPassword') do |m|
puts m.pop
end
@param address P... -
Net
:: POP3 . new(address , port = nil , apop = false) -> Net :: POP3 (19.0) -
Net::POP3 オブジェクトを生成します。
Net::POP3 オブジェクトを生成します。
このメソッドではサーバの接続は行いません。
apop が真のときは APOP 認証を行うオブジェクトを生成します。
port に nil を渡すと、適当なポート(通常は110、SSL利用時には 995)を
使います。
@param address POP3サーバのホスト名文字列
@param port 接続するPOP3サーバのポート番号
@param apop 真の場合にはAPOPで認証します
@see Net::POP3#start -
Net
:: SMTP # capable _ auth _ types -> [String] (19.0) -
接続したサーバで利用可能な認証を配列で返します。
接続したサーバで利用可能な認証を配列で返します。
返り値の配列の要素は、 'PLAIN', 'LOGIN', 'CRAM-MD5' です。
このメソッドは Net::SMTP#start などでセッションを開始
した以降にしか正しい値を返しません。 -
Net
:: SMTP # capable _ cram _ md5 _ auth? -> bool (19.0) -
サーバが AUTH CRAM-MD5 を広告してきた場合に真を返します。
サーバが AUTH CRAM-MD5 を広告してきた場合に真を返します。
このメソッドは Net::SMTP#start などでセッションを開始
した以降にしか正しい値を返しません。 -
Net
:: SMTP # capable _ login _ auth? -> bool (19.0) -
サーバが AUTH LOGIN を広告してきた場合に真を返します。
サーバが AUTH LOGIN を広告してきた場合に真を返します。
このメソッドは Net::SMTP#start などでセッションを開始
した以降にしか正しい値を返しません。 -
Net
:: SMTP # capable _ plain _ auth? -> bool (19.0) -
サーバが AUTH PLAIN を広告してきた場合に真を返します。
サーバが AUTH PLAIN を広告してきた場合に真を返します。
このメソッドは Net::SMTP#start などでセッションを開始
した以降にしか正しい値を返しません。 -
Net
:: SMTP # enable _ ssl(context = Net :: SMTP . default _ ssl _ context) -> () (19.0) -
その Net::SMTP オブジェクトが SMTPS を利用するよう設定します。
その Net::SMTP オブジェクトが SMTPS を利用するよう設定します。
このメソッドは Net::SMTP#start を呼ぶ前に呼ぶ必要があります。
@param context SSL接続で利用する OpenSSL::SSL::SSLContext
@see Net::SMTP#tls?, Net::SMTP#disable_tls -
Net
:: SMTP # enable _ tls(context = Net :: SMTP . default _ ssl _ context) -> () (19.0) -
その Net::SMTP オブジェクトが SMTPS を利用するよう設定します。
その Net::SMTP オブジェクトが SMTPS を利用するよう設定します。
このメソッドは Net::SMTP#start を呼ぶ前に呼ぶ必要があります。
@param context SSL接続で利用する OpenSSL::SSL::SSLContext
@see Net::SMTP#tls?, Net::SMTP#disable_tls -
Net
:: SMTP # finish -> () (19.0) -
SMTP セッションを終了します。
SMTP セッションを終了します。
@raise IOError セッション開始前にこのメソッドが呼ばれた場合に発生します
@see Net::SMTP#start -
Net
:: SMTP # open _ message _ stream(from _ addr , *to _ addrs) {|f| . . . . } -> () (19.0) -
メール書き込みの準備をし、書き込み先のストリームオブジェクトを ブロックに渡します。ブロック終了後、書きこんだ結果が 送られます。
メール書き込みの準備をし、書き込み先のストリームオブジェクトを
ブロックに渡します。ブロック終了後、書きこんだ結果が
送られます。
渡されるストリームオブジェクトは以下のメソッドを持っています。
* puts(str = '') strを出力して CR LFを出力
* print(str) strを出力
* printf(fmt, *args) sprintf(fmt,*args) を出力
* write(str):: str を出力して書き込んだバイト数を返す
* <<(str):: str を出力してストリームオブジェ... -
Net
:: SMTP # ready(from _ addr , *to _ addrs) {|f| . . . . } -> () (19.0) -
メール書き込みの準備をし、書き込み先のストリームオブジェクトを ブロックに渡します。ブロック終了後、書きこんだ結果が 送られます。
メール書き込みの準備をし、書き込み先のストリームオブジェクトを
ブロックに渡します。ブロック終了後、書きこんだ結果が
送られます。
渡されるストリームオブジェクトは以下のメソッドを持っています。
* puts(str = '') strを出力して CR LFを出力
* print(str) strを出力
* printf(fmt, *args) sprintf(fmt,*args) を出力
* write(str):: str を出力して書き込んだバイト数を返す
* <<(str):: str を出力してストリームオブジェ... -
Net
:: SMTP # send _ mail(mailsrc , from _ addr , *to _ addrs) -> () (19.0) -
メールを送信します。
メールを送信します。
mailsrc をメールとして送信します。
mailsrc は each イテレータを持つ
オブジェクトならなんでも構いません(たとえば String や File)。
from_domain は送り主のメールアドレス ('...@...'のかたち) 、
to_addrs には送信先メールアドレスを文字列で渡します。
require 'net/smtp'
Net::SMTP.start('smtp.example.com') {|smtp|
smtp.send_message mail_string,
... -
Net
:: SMTP # send _ message(mailsrc , from _ addr , *to _ addrs) -> () (19.0) -
メールを送信します。
メールを送信します。
mailsrc をメールとして送信します。
mailsrc は each イテレータを持つ
オブジェクトならなんでも構いません(たとえば String や File)。
from_domain は送り主のメールアドレス ('...@...'のかたち) 、
to_addrs には送信先メールアドレスを文字列で渡します。
require 'net/smtp'
Net::SMTP.start('smtp.example.com') {|smtp|
smtp.send_message mail_string,
... -
Net
:: SMTP # sendmail(mailsrc , from _ addr , *to _ addrs) -> () (19.0) -
メールを送信します。
メールを送信します。
mailsrc をメールとして送信します。
mailsrc は each イテレータを持つ
オブジェクトならなんでも構いません(たとえば String や File)。
from_domain は送り主のメールアドレス ('...@...'のかたち) 、
to_addrs には送信先メールアドレスを文字列で渡します。
require 'net/smtp'
Net::SMTP.start('smtp.example.com') {|smtp|
smtp.send_message mail_string,
... -
Net
:: SMTP # ssl? -> bool (19.0) -
その Net::SMTP オブジェクトが SMTPS を利用するならば真を返します。
その Net::SMTP オブジェクトが SMTPS を利用するならば真を返します。
@see Net::SMTP#enable_tls, Net::SMTP#disable_tls, Net::SMTP#start -
Net
:: SMTP # tls? -> bool (19.0) -
その Net::SMTP オブジェクトが SMTPS を利用するならば真を返します。
その Net::SMTP オブジェクトが SMTPS を利用するならば真を返します。
@see Net::SMTP#enable_tls, Net::SMTP#disable_tls, Net::SMTP#start -
OpenSSL
:: SSL :: SSLServer # accept -> OpenSSL :: SSL :: SSLSocket (19.0) -
クライアントからの接続を受け付け、接続した SSLSocket オブジェクトを返します。
クライアントからの接続を受け付け、接続した
SSLSocket オブジェクトを返します。
OpenSSL::SSL::SSLServer#start_immediately が真ならば、
SSLSocket#accept を呼び TLS/SSL ハンドシェイクを実行してから
SSLSocket オブジェクトを返します。 -
Psych
. load(yaml , filename: nil , fallback: false , symbolize _ names: false) -> object (19.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
入力に複数のドキュメントが含まれている場合は、先頭のものを変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合の戻り値を指定します。デフォルトは false です。
@param symbolize_... -
Psych
. parse(yaml , filename = nil) -> Psych :: Nodes :: Document (19.0) -
YAML ドキュメントをパースし、YAML の AST を返します。
YAML ドキュメントをパースし、YAML の AST を返します。
入力に複数のドキュメントが含まれている場合は、先頭のものを AST に変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
AST については Psych::Nodes を参照してください。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたと... -
Psych
:: Nodes :: Document . new(version=[] , tag _ directives=[] , implicit=false) -> Psych :: Nodes :: Document (19.0) -
Document オブジェクトを生成します。
Document オブジェクトを生成します。
version にはドキュメントのバージョンを指定します。
[major, minor] という配列で指定します。
tag_directives には tag directive の配列を指定します。
それぞれの tag は [prefix, suffix] という文字列の配列で
表現します。
implicit にはドキュメントが implicit に始まっているかどうかを
真偽値で指定します。
@param version YAML ドキュメントのバージョン
@param tag_directives tag directive の配列... -
Psych
:: Nodes :: Mapping :: ANY -> Integer (19.0) -
「任意」のスタイルを意味します。
「任意」のスタイルを意味します。
emitter が適当に style を決めます。
@see Psych::Nodes::Mapping.new,
Psych::Nodes::Mapping#style,
Psych::Handler#start_mapping -
Psych
:: Nodes :: Mapping :: BLOCK -> Integer (19.0) -
block style を表します。
block style を表します。
@see Psych::Nodes::Mapping.new,
Psych::Nodes::Mapping#style,
Psych::Handler#start_mapping -
Psych
:: Nodes :: Mapping :: FLOW -> Integer (19.0) -
flow style を表します。
flow style を表します。
@see Psych::Nodes::Mapping.new,
Psych::Nodes::Mapping#style,
Psych::Handler#start_mapping -
Psych
:: Nodes :: Sequence :: ANY -> Integer (19.0) -
「任意」のスタイルを意味します。
「任意」のスタイルを意味します。
emitter が適当に style を決めます。
@see Psych::Nodes::Sequence.new,
Psych::Nodes::Sequence#style,
Psych::Handler#start_sequence -
Psych
:: Nodes :: Sequence :: BLOCK -> Integer (19.0) -
block style を表します。
block style を表します。
@see Psych::Nodes::Sequence.new,
Psych::Nodes::Sequence#style,
Psych::Handler#start_sequence -
Psych
:: Parser :: UTF16BE -> Integer (19.0) -
UTF-16BE エンコーディングを表します。
UTF-16BE エンコーディングを表します。
@see Psych::Handler#start_stream -
Psych
:: Parser :: UTF16LE -> Integer (19.0) -
UTF-16LE エンコーディングを表します。
UTF-16LE エンコーディングを表します。
@see Psych::Handler#start_stream -
Psych
:: Parser :: UTF8 -> Integer (19.0) -
UTF-8 エンコーディングを表します。
UTF-8 エンコーディングを表します。
@see Psych::Handler#start_stream -
String
# delete _ prefix!(prefix) -> self | nil (19.0) -
self の先頭から破壊的に prefix を削除します。
self の先頭から破壊的に prefix を削除します。
@param prefix 先頭から削除する文字列を指定します。
@return 削除した場合は self、変化しなかった場合は nil
//emlist[][ruby]{
"hello".delete_prefix!("hel") # => "lo"
"hello".delete_prefix!("llo") # => nil
//}
@see String#delete_prefix
@see String#delete_suffix!
@see String#start_with? -
String
# delete _ prefix(prefix) -> String (19.0) -
文字列の先頭から prefix を削除した文字列のコピーを返します。
文字列の先頭から prefix を削除した文字列のコピーを返します。
@param prefix 先頭から削除する文字列を指定します。
@return 文字列の先頭から prefix を削除した文字列のコピー
//emlist[][ruby]{
"hello".delete_prefix("hel") # => "lo"
"hello".delete_prefix("llo") # => "hello"
//}
@see String#delete_prefix!
@see String#delete_suffix
@see String#start_with? -
String
# end _ with?(*strs) -> bool (19.0) -
self の末尾が strs のいずれかであるとき true を返します。
self の末尾が strs のいずれかであるとき true を返します。
@param strs パターンを表す文字列 (のリスト)
//emlist[例][ruby]{
"string".end_with?("ing") # => true
"string".end_with?("str") # => false
"string".end_with?("str", "ing") # => true
//}
@see String#start_with?
@see String#delete_suffix, String#delete_s... -
Symbol
# end _ with?(*suffixes) -> bool (19.0) -
self の末尾が suffixes のいずれかであるとき true を返します。
self の末尾が suffixes のいずれかであるとき true を返します。
(self.to_s.end_with?と同じです。)
@param suffixes パターンを表す文字列 (のリスト)
@see Symbol#start_with?
@see String#end_with?
//emlist[][ruby]{
:hello.end_with?("ello") #=> true
# returns true if one of the +suffixes+ matches.
:hello.end_with?("heaven", "... -
TCPServer (19.0)
-
TCP/IP ストリーム型接続のサーバ側のソケットのクラスです。
TCP/IP ストリーム型接続のサーバ側のソケットのクラスです。
このクラスによって簡単にソケットを利用したサーバのプログラミングができます。
例えば echo サーバは以下のようになります。
require "socket"
gs = TCPServer.open(0)
socks = [gs]
addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))
while true
nsock = select(socks)
next if nsock ==... -
Thread
:: Queue (19.0) -
Queue はスレッド間の FIFO(first in first out) の通信路です。ス レッドが空のキューを読み出そうとすると停止します。キューになんら かの情報が書き込まれると実行は再開されます。
Queue はスレッド間の FIFO(first in first out) の通信路です。ス
レッドが空のキューを読み出そうとすると停止します。キューになんら
かの情報が書き込まれると実行は再開されます。
最大サイズが指定できる Queue のサブクラス Thread::SizedQueue も提供されています。
=== 例
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resou... -
Thread
:: SizedQueue (19.0) -
サイズの最大値を指定できる Thread::Queue です。
サイズの最大値を指定できる Thread::Queue です。
=== 例
283 より。q をサイズ 1 の SizedQueue オブジェクトに
することによって、入力される行と出力される行が同じ順序になります。
q = [] にすると入力と違った順序で行が出力されます。
require 'thread'
q = SizedQueue.new(1)
th = Thread.start {
while line = q.pop
print line
end
}
while l = gets
q.push(l)
end
... -
WEBrick
:: HTTPAuth :: BasicAuth (19.0) -
HTTP の Basic 認証のためのクラスです。
HTTP の Basic 認証のためのクラスです。
例
require 'webrick'
realm = "WEBrick's realm"
srv = WEBrick::HTTPServer.new({ :BindAddress => '127.0.0.1', :Port => 10080})
htpd = WEBrick::HTTPAuth::Htpasswd.new('dot.htpasswd')
htpd.set_passwd(nil, 'username', 'supersecretpass')
authenticator =... -
WEBrick
:: HTTPProxyServer (19.0) -
プロクシの機能を提供するクラスです。CONNECT メソッドにも対応しています。
プロクシの機能を提供するクラスです。CONNECT メソッドにも対応しています。
* https://magazine.rubyist.net/articles/0002/0002-WEBrickProxy.html
以下は完全に動作するプロクシサーバの例です。
require 'webrick'
require 'webrick/httpproxy'
s = WEBrick::HTTPProxyServer.new(Port: 8080)
Signal.trap('INT') do
s.shutdown
end
s.start -
WEBrick
:: HTTPServer (19.0) -
HTTP サーバの機能を提供するクラスです。
HTTP サーバの機能を提供するクラスです。
以下は HTTP サーバとしてちゃんと動作する例です。
require 'webrick'
srv = WEBrick::HTTPServer.new({:DocumentRoot => '/home/username/public_html/',
:BindAddress => '127.0.0.1',
:Port => 10080})
srv.mount('/hoge.pl', WEBrick::HTTPSe...