ライブラリ
- ビルトイン (85)
-
cgi
/ html (2) - csv (1)
- digest (1)
-
digest
/ sha2 (1) - etc (6)
- fcntl (1)
- fiddle (3)
- gdbm (1)
-
io
/ nonblock (3) - monitor (6)
-
mutex
_ m (9) -
net
/ ftp (13) -
net
/ http (6) - openssl (8)
- optparse (2)
- ostruct (1)
- pathname (1)
- psych (4)
- rss (1)
-
rubygems
/ commands / lock _ command (3) - socket (17)
- stringio (2)
-
syslog
/ logger (7) -
webrick
/ utils (1)
クラス
-
ARGF
. class (1) - Array (6)
- BasicSocket (3)
- CSV (1)
- Class (1)
- Data (2)
-
Digest
:: Base (1) -
Digest
:: SHA2 (1) -
Enumerator
:: Lazy (2) -
Fiddle
:: Closure :: BlockCaller (2) - File (2)
-
File
:: Stat (2) - GDBM (1)
-
Gem
:: Commands :: LockCommand (2) - Hash (1)
- IO (5)
- Monitor (3)
-
Net
:: FTP (13) -
Net
:: HTTP (2) - Object (1)
-
OpenSSL
:: Cipher (1) -
OpenSSL
:: Digest (1) -
OpenSSL
:: SSL :: SSLSocket (2) - OpenStruct (1)
- OptionParser (2)
- Pathname (1)
-
Psych
:: Nodes :: Mapping (2) -
Psych
:: Nodes :: Sequence (2) - Socket (7)
- String (6)
- StringIO (2)
- Struct (2)
-
Syslog
:: Logger (7) - TCPServer (1)
- Thread (2)
-
Thread
:: Mutex (6) -
Thread
:: Queue (3) -
Thread
:: SizedQueue (5) - UDPSocket (1)
- UNIXServer (1)
モジュール
-
CGI
:: HtmlExtension (2) - Enumerable (3)
- Etc (6)
- Fcntl (1)
-
File
:: Constants (5) - FileTest (1)
- Kernel (2)
- MonitorMixin (2)
-
Mutex
_ m (8) -
OpenSSL
:: Buffering (3) -
OpenSSL
:: SSL (1) - Process (25)
-
RSS
:: Maker (1) -
Socket
:: Constants (4) -
WEBrick
:: Utils (1)
オブジェクト
- ENV (1)
キーワード
- BLOCK (2)
-
BLOCK
_ SIZE (1) - BlockCaller (1)
-
CLOCK
_ BOOTTIME (1) -
CLOCK
_ BOOTTIME _ ALARM (1) -
CLOCK
_ MONOTONIC (1) -
CLOCK
_ MONOTONIC _ COARSE (1) -
CLOCK
_ MONOTONIC _ FAST (1) -
CLOCK
_ MONOTONIC _ PRECISE (1) -
CLOCK
_ MONOTONIC _ RAW (1) -
CLOCK
_ MONOTONIC _ RAW _ APPROX (1) -
CLOCK
_ PROCESS _ CPUTIME _ ID (1) -
CLOCK
_ PROF (1) -
CLOCK
_ REALTIME (1) -
CLOCK
_ REALTIME _ ALARM (1) -
CLOCK
_ REALTIME _ COARSE (1) -
CLOCK
_ REALTIME _ FAST (1) -
CLOCK
_ REALTIME _ PRECISE (1) -
CLOCK
_ SECOND (1) -
CLOCK
_ THREAD _ CPUTIME _ ID (1) -
CLOCK
_ UPTIME (1) -
CLOCK
_ UPTIME _ FAST (1) -
CLOCK
_ UPTIME _ PRECISE (1) -
CLOCK
_ UPTIME _ RAW (1) -
CLOCK
_ UPTIME _ RAW _ APPROX (1) -
CLOCK
_ VIRTUAL (1) -
DEFAULT
_ BLOCKSIZE (1) - EDEADLOCK (1)
- EWOULDBLOCK (1)
- HTTPLocked (1)
- HTTPRequest (1)
-
IP
_ BLOCK _ SOURCE (2) -
IP
_ UNBLOCK _ SOURCE (2) -
LOCK
_ EX (1) -
LOCK
_ NB (1) -
LOCK
_ SH (1) -
LOCK
_ UN (1) - Lock (1)
- LockCommand (1)
-
MCAST
_ BLOCK _ SOURCE (2) -
MCAST
_ UNBLOCK _ SOURCE (2) - Monitor (1)
- Mutex (1)
-
Mutex
_ m (1) -
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 1 . 0 (1) - NOLOCK (1)
- NONBLOCK (1)
-
OP
_ TLS _ BLOCK _ PADDING _ BUG (1) -
O
_ NONBLOCK (1) -
RLIMIT
_ MEMLOCK (1) - Ruby用語集 (1)
-
SC
_ CLOCK _ SELECTION (1) -
SC
_ MEMLOCK (1) -
SC
_ MEMLOCK _ RANGE (1) -
SC
_ MONOTONIC _ CLOCK (1) -
SC
_ READER _ WRITER _ LOCKS (1) -
SC
_ SPIN _ LOCKS (1) - Thread (1)
- Unlock (1)
-
accept
_ nonblock (4) - add (1)
-
blk
_ copy _ prev (1) -
blk
_ free (1) -
blk
_ mark (1) -
blk
_ orphan (1) -
block
_ append (1) -
block
_ given? (1) -
block
_ length (3) -
block
_ pass (1) -
block
_ size (1) - blockdev? (4)
- blockquote (2)
- blocks (1)
- call (1)
- chars (1)
-
clock
_ gettime (1) - codepoints (1)
-
collect
_ concat (1) - combination (1)
- complain (1)
-
connect
_ nonblock (2) - cycle (1)
- debug (1)
- define (1)
- deq (2)
-
dyna
_ in _ block (1) -
each
_ char (1) -
each
_ codepoint (1) -
each
_ entry (1) -
each
_ grapheme _ cluster (1) - enq (1)
- enter (1)
-
enum
_ for (1) - error (1)
- fatal (1)
- filter! (1)
-
flat
_ map (1) - flock (2)
- get (2)
- getbinaryfile (2)
-
grapheme
_ clusters (1) -
ignore
_ deadlock (1) -
ignore
_ deadlock= (1) - info (1)
- initialize (1)
-
io
/ nonblock (1) - iterator? (1)
- locked? (2)
- make (1)
-
mon
_ enter (2) -
mon
_ locked? (2) - monitor (1)
-
mu
_ lock (1) -
mu
_ locked? (1) -
mu
_ try _ lock (1) -
mu
_ unlock (1) - new (5)
-
new
_ blktag (1) - nonblock (1)
- nonblock= (1)
- nonblock? (1)
-
on
_ head (1) -
on
_ tail (1) - owned? (1)
- permutation (1)
- pop (2)
- push (1)
- put (2)
- putbinaryfile (2)
-
rb
_ block _ given _ p (1) -
rb
_ f _ block _ given _ p (1) -
rb
_ iterate (1) -
rb
_ obj _ is _ block (1) -
rb
_ thread _ deadlock (1) -
read
_ nonblock (4) -
recv
_ nonblock (1) -
recvfrom
_ nonblock (2) -
recvmsg
_ nonblock (1) - retrbinary (2)
-
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 5 feature (1) -
ruby 1
. 9 feature (1) -
rubygems
/ commands / lock _ command (1) - select! (1)
-
sendmsg
_ nonblock (1) -
set
_ non _ blocking (1) - shift (2)
- sleep (1)
-
spec
_ path (1) - storbinary (2)
-
to
_ enum (1) -
to
_ h (6) -
try
_ lock (2) - unknown (1)
- unlock (3)
- warn (1)
-
write
_ nonblock (3) - スレッド (1)
検索結果
先頭5件
-
static VALUE rb
_ f _ block _ given _ p(void) (18301.0) -
block_given? の実体。 現在評価中の (Ruby で実装された) メソッドに対して ブロックが与えられていたら真。
block_given? の実体。
現在評価中の (Ruby で実装された) メソッドに対して
ブロックが与えられていたら真。 -
static int dyna
_ in _ block(void) (18301.0) -
ブロックにネストしているコードをパース中は真。
ブロックにネストしているコードをパース中は真。 -
static void rb
_ thread _ deadlock(void) (18301.0) -
-
rubygems
/ commands / lock _ command (18073.0) -
指定された特定のバージョンの Gem パッケージに依存する Gem を使用するために 必要な Kernel#gem メソッドの呼び出し方法を文字列で出力します。
...e "rubygems"
gem 'rails', '= 1.0.0'
gem 'rake', '= 0.7.0.1'
gem 'activesupport', '= 1.2.5'
gem 'activerecord', '= 1.13.2'
gem 'actionpack', '= 1.11.2'
gem 'actionmailer', '= 1.1.5'
gem 'actionwebservice', '= 1.0.0'
Just load lockdo... -
Net
:: HTTP :: Lock (18049.0) -
HTTP の LOCK リクエストを表すクラスです。
HTTP の LOCK リクエストを表すクラスです。 -
Errno
:: EDEADLOCK (18001.0) -
システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。 -
Errno
:: EWOULDBLOCK (18001.0) -
システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。 -
Fiddle
:: Closure :: BlockCaller (18001.0) -
Ruby のブロックをラップしたコールバック関数を表すクラスです。
Ruby のブロックをラップしたコールバック関数を表すクラスです。
Ruby のブロックを C の関数ポインタとして表現するためのクラスです。
require 'fiddle'
include Fiddle
libc = Fiddle.dlopen("/lib/libc.so.6")
qs = Fiddle::Function.new(libc["qsort"],
[TYPE_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP],
TYP... -
Gem
:: Commands :: LockCommand (18001.0) -
指定された特定のバージョンの Gem パッケージに依存する Gem を使用するために 必要な Kernel#gem メソッドの呼び出し方法を文字列で出力します。
指定された特定のバージョンの Gem パッケージに依存する Gem を使用するために
必要な Kernel#gem メソッドの呼び出し方法を文字列で出力します。 -
Net
:: HTTP :: Unlock (18001.0) -
HTTP の UNLOCK リクエストを表すクラスです。
HTTP の UNLOCK リクエストを表すクラスです。 -
Net
:: HTTPLocked (18001.0) -
HTTP レスポンス 423 (Locked) を表現するクラスです。
HTTP レスポンス 423 (Locked) を表現するクラスです。
詳しくは 4918 を見てください。 -
io
/ nonblock (18001.0) -
IO のノンブロックモードを扱うライブラリです。
IO のノンブロックモードを扱うライブラリです。 -
Etc
:: SC _ CLOCK _ SELECTION -> Integer (9301.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ MEMLOCK -> Integer (9301.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ MEMLOCK _ RANGE -> Integer (9301.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ MONOTONIC _ CLOCK -> Integer (9301.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ READER _ WRITER _ LOCKS -> Integer (9301.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ SPIN _ LOCKS -> Integer (9301.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Fcntl
:: O _ NONBLOCK -> Integer (9301.0) -
ファイルを non-blocking モードで開きます。
ファイルを non-blocking モードで開きます。 -
Fiddle
:: Closure :: BlockCaller . new(ret , args , abi=Fiddle :: Function :: DEFAULT) { . . . } -> Fiddle :: Closure :: BlockCaller (9301.0) -
Ruby のブロックを呼び出す Fiddle::Closure オブジェクトを返します。
Ruby のブロックを呼び出す Fiddle::Closure オブジェクトを返します。
args、ret で関数の引数と返り値の型を指定します。
指定は Fiddle::Function.new と同様なので、そちら
を参照してください。
@param ret 返り値の型
@param args 引数の型を表す配列
@param abi 呼出規約 -
OpenSSL
:: SSL :: OP _ TLS _ BLOCK _ PADDING _ BUG -> Integer (9301.0) -
SSL 通信での各種バグ回避コードを有効にするフラグです。
SSL 通信での各種バグ回避コードを有効にするフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は OpenSSL::SSL::OP_ALL でこれらすべてを有効にします。
特定のフラグのみ無効にしたい場合は例えば
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
などとします。 -
StringIO
# write _ nonblock(obj) -> Integer (9301.0) -
自身に obj を書き込みます。StringIO#write と同じです。
自身に obj を書き込みます。StringIO#write と同じです。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。 -
Fiddle
:: Closure :: BlockCaller # call(*args) -> object (9001.0) -
wrap しているブロックを呼び出します。
wrap しているブロックを呼び出します。
そのブロックの返り値がこのメソッドの返り値となります。
@param args 引数 -
Gem
:: Commands :: LockCommand # complain(message) -> () (9001.0) -
指定されたメッセージを表示します。--strict が有効な場合は例外が発生します。
指定されたメッセージを表示します。--strict が有効な場合は例外が発生します。
@param message 表示するメッセージを指定します。
@raise Gem::Exception コマンドラインオプションに --strict が指定されている場合に発生します。 -
Gem
:: Commands :: LockCommand # spec _ path(gem _ full _ name) -> String (9001.0) -
指定された Gem パッケージの gemspec ファイルのフルパスを返します。
指定された Gem パッケージの gemspec ファイルのフルパスを返します。
@param gem_full_name Gem パッケージの名前を指定します。 -
Kernel
. # iterator? -> bool (9001.0) -
メソッドにブロックが与えられていれば真を返します。
メソッドにブロックが与えられていれば真を返します。
このメソッドはカレントコンテキストにブロックが与えられているかを調べるので、
メソッド内部以外で使っても単に false を返します。
iterator? は (ブロックが必ずイテレートするとはいえないので)推奨されていないの
で block_given? を使ってください。
//emlist[例][ruby]{
def check
if block_given?
puts "Block is given."
else
puts "Block isn't given."
end
end
check{} #=... -
Net
:: FTP # get(remotefile , localfile = File . basename(remotefile) , blocksize = DEFAULT _ BLOCKSIZE) -> nil (601.0) -
サーバ上のファイルを取得します。
サーバ上のファイルを取得します。
Net::FTP#binary の値に従って
Net::FTP#getbinaryfile もしくは
Net::FTP#gettextfile を呼びだします。
binary が偽のとき、つまりテキストモードの
ときには blocksize は無視されます。
@param remotefile 取得対象のリモートのファイル名を与えます。
@param localfile 取得したデータを格納するローカルのファイル名を与えます。
@param blocksize データ転送の単位をバイト単位で与えます。
@raise Net::FTPTempError... -
Net
:: FTP # get(remotefile , localfile = File . basename(remotefile) , blocksize = DEFAULT _ BLOCKSIZE) { |data| . . . . } -> nil (601.0) -
サーバ上のファイルを取得します。
サーバ上のファイルを取得します。
Net::FTP#binary の値に従って
Net::FTP#getbinaryfile もしくは
Net::FTP#gettextfile を呼びだします。
binary が偽のとき、つまりテキストモードの
ときには blocksize は無視されます。
@param remotefile 取得対象のリモートのファイル名を与えます。
@param localfile 取得したデータを格納するローカルのファイル名を与えます。
@param blocksize データ転送の単位をバイト単位で与えます。
@raise Net::FTPTempError... -
Net
:: FTP # getbinaryfile(remotefile , localfile = File . basename(remotefile) , blocksize = DEFAULT _ BLOCKSIZE) -> nil (601.0) -
サーバ上のファイルをバイナリモードで取得します。
サーバ上のファイルをバイナリモードで取得します。
サーバー上にある remotefile という名前のファイルを取得し、
ローカルの localfile という名前のファイルに保存します。
localfile が nil である場合には保存はしません。
データの転送は blocksize バイト毎に行なわれます。
ブロックが指定された場合は
データを blocksize バイト受信するごとに、そのデータを
ブロックに渡します。
@param remotefile 取得対象のリモートのファイル名を与えます。
@param localfile 取得したデータを格納するローカルのファイル... -
Net
:: FTP # getbinaryfile(remotefile , localfile = File . basename(remotefile) , blocksize = DEFAULT _ BLOCKSIZE) {|data| . . . } -> nil (601.0) -
サーバ上のファイルをバイナリモードで取得します。
サーバ上のファイルをバイナリモードで取得します。
サーバー上にある remotefile という名前のファイルを取得し、
ローカルの localfile という名前のファイルに保存します。
localfile が nil である場合には保存はしません。
データの転送は blocksize バイト毎に行なわれます。
ブロックが指定された場合は
データを blocksize バイト受信するごとに、そのデータを
ブロックに渡します。
@param remotefile 取得対象のリモートのファイル名を与えます。
@param localfile 取得したデータを格納するローカルのファイル... -
Net
:: FTP # put(localfile , remotefile = File . basename(localfile) , blocksize = DEFAULT _ BLOCKSIZE) -> nil (601.0) -
サーバへファイルを転送します。
サーバへファイルを転送します。
Net::FTP#binary の値に従って
Net::FTP#putbinaryfile もしくは
Net::FTP#puttextfile を呼びだします。
binary が偽のとき、つまりテキストモードの
ときには blocksize は無視されます。
@param localfile 転送するローカルのファイル名を与えます。
@param remotefile 転送データを保存するリモートのファイル名を与えます。
@param blocksize データ転送の単位をバイト単位で与えます。
@raise Net::FTPTempError 応答コ... -
Net
:: FTP # put(localfile , remotefile = File . basename(localfile) , blocksize = DEFAULT _ BLOCKSIZE) { |data| . . . . } -> nil (601.0) -
サーバへファイルを転送します。
サーバへファイルを転送します。
Net::FTP#binary の値に従って
Net::FTP#putbinaryfile もしくは
Net::FTP#puttextfile を呼びだします。
binary が偽のとき、つまりテキストモードの
ときには blocksize は無視されます。
@param localfile 転送するローカルのファイル名を与えます。
@param remotefile 転送データを保存するリモートのファイル名を与えます。
@param blocksize データ転送の単位をバイト単位で与えます。
@raise Net::FTPTempError 応答コ... -
Net
:: FTP # putbinaryfile(localfile , remotefile = File . basename(localfile) , blocksize = DEFAULT _ BLOCKSIZE) -> nil (601.0) -
サーバにファイルをバイナリモードで転送します。
サーバにファイルをバイナリモードで転送します。
ローカルの localfile という名前のファイルを読みだし、
サーバー上の remotefile という名前のファイルに保存します。
データの転送は blocksize バイト毎に行なわれます。
ブロックが指定された場合は
データを blocksize バイト転送するごとに、そのデータを
ブロックに渡します。
@param localfile 転送するローカルのファイル名を与えます。
@param remotefile 転送データを保存するリモートのファイル名を与えます。
@param blocksize データ転送の単位をバイト単... -
Net
:: FTP # putbinaryfile(localfile , remotefile = File . basename(localfile) , blocksize = DEFAULT _ BLOCKSIZE) {|data| . . . } -> nil (601.0) -
サーバにファイルをバイナリモードで転送します。
サーバにファイルをバイナリモードで転送します。
ローカルの localfile という名前のファイルを読みだし、
サーバー上の remotefile という名前のファイルに保存します。
データの転送は blocksize バイト毎に行なわれます。
ブロックが指定された場合は
データを blocksize バイト転送するごとに、そのデータを
ブロックに渡します。
@param localfile 転送するローカルのファイル名を与えます。
@param remotefile 転送データを保存するリモートのファイル名を与えます。
@param blocksize データ転送の単位をバイト単... -
static void blk
_ copy _ prev(struct BLOCK *block) (601.0) -
-
Array
# combination(n) {|c| block } -> self (301.0) -
サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。
サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。
得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、組み合わせ
を生成する Enumerator オブジェクトを返します。
@param n 生成される配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[... -
Array
# cycle(n=nil) {|obj| block } -> nil (301.0) -
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は Enumerator を返します。
@param n 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby]{
a = ["a", "b", "c"]
a.cycle {|x| p... -
Array
# filter! {|item| block } -> self | nil (301.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。 変更があった場合は self を、 変更がなかった場合には nil を返します。
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
変更があった場合は self を、
変更がなかった場合には nil を返します。
//emlist[例][ruby]{
a = %w{ a b c d e f }
a.select! {|v| v =~ /[a-z]/ } # => nil
a # => ["a", "b", "c", "d", "e", "f"]
//}
ブロックが与えられなかった場合は、自身と select! から生成した
Enumerator オブジェクトを返します。
@see Array#keep_if, Array#reject! -
Array
# permutation(n = self . length) { |p| block } -> self (301.0) -
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実
行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
... -
Array
# select! {|item| block } -> self | nil (301.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。 変更があった場合は self を、 変更がなかった場合には nil を返します。
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
変更があった場合は self を、
変更がなかった場合には nil を返します。
//emlist[例][ruby]{
a = %w{ a b c d e f }
a.select! {|v| v =~ /[a-z]/ } # => nil
a # => ["a", "b", "c", "d", "e", "f"]
//}
ブロックが与えられなかった場合は、自身と select! から生成した
Enumerator オブジェクトを返します。
@see Array#keep_if, Array#reject! -
Array
# to _ h { block } -> Hash (301.0) -
self を [key, value] のペアの配列として解析した結果を Hash にして 返します。
self を [key, value] のペアの配列として解析した結果を Hash にして
返します。
//emlist[例][ruby]{
bar], [1, 2.to_h # => {:foo => :bar, 1 => 2}
//}
ブロックを指定すると配列の各要素でブロックを呼び出し、
その結果をペアとして使います。
//emlist[ブロック付きの例][ruby]{
["foo", "bar"].to_h {|s| [s.ord, s]} # => {102=>"foo", 98=>"bar"}
//} -
Class
# new(*args , &block) -> object (301.0) -
自身のインスタンスを生成して返します。 このメソッドの引数はブロック引数も含め Object#initialize に渡されます。
自身のインスタンスを生成して返します。
このメソッドの引数はブロック引数も含め Object#initialize に渡されます。
new は Class#allocate でインスタンスを生成し、
Object#initialize で初期化を行います。
@param args Object#initialize に渡される引数を指定します。
@param block Object#initialize に渡されるブロックを指定します。
//emlist[例][ruby]{
# Class クラスのインスタンス、C クラスを生成
C = Class.new # => C
# ... -
Data
# to _ h {|member , value| block } -> Hash (301.0) -
self のメンバ名(Symbol)と値の組を Hash にして返します。
self のメンバ名(Symbol)と値の組を Hash にして返します。
//emlist[例][ruby]{
Customer = Data.define(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h
# => {:name=>"Joe Smith", :address=>"123 Maple, Anytown NC", :zip=>12345}
//}
ブロックを指定すると各ペアでブロックを呼び出し、
その結果をペアとして使います。
//emlist[ブロッ... -
Data
. define(*args) {|subclass| block } -> Class (301.0) -
Data クラスに新しいサブクラスを作って、それを返します。
Data クラスに新しいサブクラスを作って、それを返します。
サブクラスでは値オブジェクトのメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
p fred.name # => "Fred"
p fred.age # => 5
//}
メンバの値を書き換えることはできません。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
fre... -
ENV
. to _ h {|name , value| block } -> Hash (301.0) -
環境変数の名前をキーとし、対応する値をもつハッシュを返します。
環境変数の名前をキーとし、対応する値をもつハッシュを返します。
ブロックを指定すると各ペアでブロックを呼び出し、
その結果をペアとして使います。
//emlist[ブロック付きの例][ruby]{
ENV.to_h {|name, value| [name, value.size] }
//} -
Enumerable
# collect _ concat {| obj | block } -> Array (301.0) -
各要素をブロックに渡し、その返り値を連結した配列を返します。
各要素をブロックに渡し、その返り値を連結した配列を返します。
ブロックの返り値は基本的に配列を返すべきです。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
[[1,2], [3,4]].flat_map{|i| i.map{|j| j*2}} # => [2,4,6,8]
//} -
Enumerable
# each _ entry {|obj| block} -> self (301.0) -
ブロックを各要素に一度ずつ適用します。
ブロックを各要素に一度ずつ適用します。
一要素として複数の値が渡された場合はブロックには配列として渡されます。
//emlist[例][ruby]{
class Foo
include Enumerable
def each
yield 1
yield 1,2
end
end
Foo.new.each_entry{|o| print o, " -- "}
# => 1 -- [1, 2] --
//}
ブロックを省略した場合は Enumerator が返されます。
@see Enumerable#slice_before -
Enumerable
# flat _ map {| obj | block } -> Array (301.0) -
各要素をブロックに渡し、その返り値を連結した配列を返します。
各要素をブロックに渡し、その返り値を連結した配列を返します。
ブロックの返り値は基本的に配列を返すべきです。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
[[1,2], [3,4]].flat_map{|i| i.map{|j| j*2}} # => [2,4,6,8]
//} -
Enumerator
:: Lazy # enum _ for(method = :each , *args) {|*args| block} -> Enumerator :: Lazy (301.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
Object#to_enum と同じですが、Enumerator::Lazy を返します。
to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) ... -
Enumerator
:: Lazy # to _ enum(method = :each , *args) {|*args| block} -> Enumerator :: Lazy (301.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
Object#to_enum と同じですが、Enumerator::Lazy を返します。
to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) ... -
Hash
# to _ h {|key , value| block } -> Hash (301.0) -
self を返します。Hash クラスのサブクラスから呼び出した場合は self を Hash オブジェクトに変換します。
self を返します。Hash クラスのサブクラスから呼び出した場合は
self を Hash オブジェクトに変換します。
//emlist[例][ruby]{
hash = {}
p hash.to_h # => {}
p hash.to_h == hash # => true
class MyHash < Hash;end
my_hash = MyHash.new
p my_hash.to_h # => {}
p my_hash.class # => MyHash
p my_hash.to_h.class # => Hash
//}
ブロックを... -
Net
:: FTP # retrbinary(cmd , blocksize , rest _ offset = nil) -> nil (301.0) -
サーバーに cmd で指定されたコマンドを送り、バイナリデータを 取り寄せます。
サーバーに cmd で指定されたコマンドを送り、バイナリデータを
取り寄せます。
blocksize で指定されたバイト単位でデータを
読み込み、ブロックに渡します。
rest_offset が省略されなかった場合は、cmdを送る前に
REST コマンドを送り、指定したバイト数の位置から
転送を開始します。
@param cmd コマンドを文字列で与えます。
@param blocksize 読み込み単位をバイト単位で与えます。
@param rest_offset REST コマンドに与えるオフセットを与えます。
@raise Net::FTPTempError 応答コードが 4... -
Net
:: FTP # retrbinary(cmd , blocksize , rest _ offset = nil) {|data| . . . } -> nil (301.0) -
サーバーに cmd で指定されたコマンドを送り、バイナリデータを 取り寄せます。
サーバーに cmd で指定されたコマンドを送り、バイナリデータを
取り寄せます。
blocksize で指定されたバイト単位でデータを
読み込み、ブロックに渡します。
rest_offset が省略されなかった場合は、cmdを送る前に
REST コマンドを送り、指定したバイト数の位置から
転送を開始します。
@param cmd コマンドを文字列で与えます。
@param blocksize 読み込み単位をバイト単位で与えます。
@param rest_offset REST コマンドに与えるオフセットを与えます。
@raise Net::FTPTempError 応答コードが 4... -
Net
:: FTP # storbinary(cmd , file , blocksize , rest _ offset = nil) -> nil (301.0) -
サーバーに cmd で指定されたコマンドを送り、バイナリデータを 送ります。
サーバーに cmd で指定されたコマンドを送り、バイナリデータを
送ります。
送るデータは IO のインスタンスを
file で指定します。
(実際には StringIO のような IO とメソッドレベルで
互換するオブジェクトであればなんでもかまいません)。
blocksize で指定されたバイト単位で file からデータを読みこみ、
サーバに送ります。
rest_offset が省略されなかった場合は、cmdを送る前に
REST コマンドを送り、指定したバイト数の位置から
転送を開始します。
ブロックが指定された場合には、転送するデータを blocksize ごとに
ブロックに... -
Net
:: FTP # storbinary(cmd , file , blocksize , rest _ offset = nil) {|data| . . . } -> nil (301.0) -
サーバーに cmd で指定されたコマンドを送り、バイナリデータを 送ります。
サーバーに cmd で指定されたコマンドを送り、バイナリデータを
送ります。
送るデータは IO のインスタンスを
file で指定します。
(実際には StringIO のような IO とメソッドレベルで
互換するオブジェクトであればなんでもかまいません)。
blocksize で指定されたバイト単位で file からデータを読みこみ、
サーバに送ります。
rest_offset が省略されなかった場合は、cmdを送る前に
REST コマンドを送り、指定したバイト数の位置から
転送を開始します。
ブロックが指定された場合には、転送するデータを blocksize ごとに
ブロックに... -
Object
# initialize(*args , &block) -> object (301.0) -
ユーザ定義クラスのオブジェクト初期化メソッド。
ユーザ定義クラスのオブジェクト初期化メソッド。
このメソッドは Class#new から新しく生成されたオブ
ジェクトの初期化のために呼び出されます。他の言語のコンストラクタに相当します。
デフォルトの動作ではなにもしません。
initialize には
Class#new に与えられた引数がそのまま渡されます。
サブクラスではこのメソッドを必要に応じて再定義されること
が期待されています。
initialize という名前のメソッドは自動的に private に設定され
ます。
@param args 初期化時の引数です。
@param block 初期化時のブロック引数です。必... -
OpenStruct
# to _ h {|name , value| block } -> Hash (301.0) -
self を各要素の名前をキー(Symbol)、要素が値のハッシュに変換して返 します。
self を各要素の名前をキー(Symbol)、要素が値のハッシュに変換して返
します。
ブロックを指定すると各ペアでブロックを呼び出し、
その結果をペアとして使います。
//emlist[例][ruby]{
require 'ostruct'
data = OpenStruct.new("country" => "Australia", :capital => "Canberra")
data.to_h # => {:country => "Australia", :capital => "Canberra" }
data.to_h {|name, value| [name.to_... -
OptionParser
# on _ head(*arg , &block) -> self (301.0) -
オプションを取り扱うためのブロックを自身の持つリストの最初に登録します。
オプションを取り扱うためのブロックを自身の持つリストの最初に登録します。
@param arg OptionParser#on と同様です。
@param block OptionParser#on と同様です。
//emlist[例][ruby]{
require "optparse"
opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tail("-h", "--help")
end
puts opts.help
# => ... -
OptionParser
# on _ tail(*arg , &block) -> self (301.0) -
オプションを取り扱うためのブロックを自身の持つリストの最後に登録します。
オプションを取り扱うためのブロックを自身の持つリストの最後に登録します。
--version や --help の説明をサマリの最後に表示したい時に便利です。
@param arg OptionParser#on と同様です。
@param block OptionParser#on と同様です。
//emlist[例][ruby]{
require "optparse"
opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tai... -
Psych
:: Nodes :: Mapping . new(anchor=nil , tag=nil , implicit=true , style=BLOCK) -> Psych :: Nodes :: Mapping (301.0) -
新たな mapping オブジェクトを生成します。
新たな mapping オブジェクトを生成します。
anchor には mapping に付加されている anchor を文字列で指定します。
anchor を付けない場合には nil を指定します。
tag には mapping に付加されている tag を文字列で指定します。
tag を付けない場合には nil を指定します。
implicit には mapping が implicit に開始されたかどうかを
真偽値で指定します。
style には YAML ドキュメント上の style を整数で指定します。以下のいずれ
かを指定できます。
* Psych::Nodes::... -
Psych
:: Nodes :: Sequence . new(anchor=nil , tag=nil , implicit=true , style=BLOCK) -> Psych :: Nodes :: Sequence (301.0) -
新たな sequence オブジェクトを生成します。
新たな sequence オブジェクトを生成します。
anchor には sequence に付加されている anchor を文字列で指定します。
anchor を付けない場合には nil を指定します。
tag には sequence に付加されている tag を文字列で指定します。
tag を付けない場合には nil を指定します。
implicit には sequence が implicit に開始されたかどうかを
真偽値で指定します。
style には YAML ドキュメント上の style を整数で指定します。以下のいずれ
かを指定できます。
* Psych::Nod... -
RSS
:: Maker . make(version , &block) (301.0) -
@todo versionには"1.0"または"0.9"または "0.91"または"2.0"を指定します."0.9" と"0.91"は同じであることに注意してください.
@todo
versionには"1.0"または"0.9"または
"0.91"または"2.0"を指定します."0.9"
と"0.91"は同じであることに注意してください.
blockを実行したあとのmakerオブジェクトから
RSSオブジェクトを生成して返します. -
String
# chars {|cstr| block } -> self (301.0) -
文字列の各文字を文字列の配列で返します。(self.each_char.to_a と同じです)
文字列の各文字を文字列の配列で返します。(self.each_char.to_a と同じです)
//emlist[例][ruby]{
"hello世界".chars # => ["h", "e", "l", "l", "o", "世", "界"]
//}
ブロックが指定された場合は String#each_char と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#each_char -
String
# codepoints {|codepoint| block } -> self (301.0) -
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".codepoints
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
//}
ブロックが指定された場合は String#each_codepoint と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#e... -
String
# each _ char {|cstr| block } -> self (301.0) -
文字列の各文字に対して繰り返します。
文字列の各文字に対して繰り返します。
たとえば、
//emlist[][ruby]{
"hello世界".each_char {|c| print c, ' ' }
//}
は次のように出力されます。
h e l l o 世 界
@see String#chars -
String
# each _ codepoint {|codepoint| block } -> self (301.0) -
文字列の各コードポイントに対して繰り返します。
文字列の各コードポイントに対して繰り返します。
UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては
各文字のバイナリ表現由来の値になります。
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
"hello わーるど".encode('euc-jp').each_codepoint.to_a
# => [104, 101, 108, 1... -
String
# each _ grapheme _ cluster {|grapheme _ cluster| block } -> self (301.0) -
文字列の書記素クラスタに対して繰り返します。
文字列の書記素クラスタに対して繰り返します。
String#each_char と違って、
Unicode Standard Annex #29 (https://unicode.org/reports/tr29/)
で定義された書記素クラスタに対して繰り返します。
//emlist[例][ruby]{
"a\u0300".each_char.to_a.size # => 2
"a\u0300".each_grapheme_cluster.to_a.size # => 1
//}
@see String#grapheme_clusters -
String
# grapheme _ clusters {|grapheme _ cluster| block } -> self (301.0) -
文字列の書記素クラスタの配列を返します。(self.each_grapheme_cluster.to_a と同じです)
文字列の書記素クラスタの配列を返します。(self.each_grapheme_cluster.to_a と同じです)
//emlist[例][ruby]{
"a\u0300".grapheme_clusters # => ["à"]
//}
ブロックが指定された場合は String#each_grapheme_cluster と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#each_grapheme_cluster -
Struct
# to _ h {|member , value| block } -> Hash (301.0) -
self のメンバ名(Symbol)と値の組を Hash にして返します。
self のメンバ名(Symbol)と値の組を Hash にして返します。
//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h
# => {:name=>"Joe Smith", :address=>"123 Maple, Anytown NC", :zip=>12345}
//}
ブロックを指定すると各ペアでブロックを呼び出し、
その結果をペアとして使います。
//emlist[ブロック... -
Struct
. new(*args , keyword _ init: nil) {|subclass| block } -> Class (301.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
Struct クラスに新しいサブクラスを作って、それを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します
//}
実装の都合により、クラス名の省略は後づけの機能でした。
メンバ名に String を指定できるのは後方互換... -
Syslog
:: Logger # add(severity , message = nil , progname = nil , &block) -> true (301.0) -
メッセージをログに記録します。Logger#add とほぼ同じ動作をします。
メッセージをログに記録します。Logger#add とほぼ同じ動作をします。
ブロックを与えた場合はブロックを評価した返り値をメッセージとしてログに
記録します。 ユーザがこのメソッドを直接使うことはあまりありません。
@param severity ログレベル。Logger クラスで定義されている定数を指定しま
す。この値がレシーバーに設定されているレベルよりも低い
場合、メッセージは記録されません。
@param message ログに出力するメッセージを表すオブジェクトを指定します。
省... -
Syslog
:: Logger # debug(message = nil , &block) -> true (301.0) -
DEBUG 情報を出力します。syslog の DEBUG の情報として記録されます。
DEBUG 情報を出力します。syslog の DEBUG の情報として記録されます。
ブロックを与えなかった場合は、message をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。
@see Syslog::Logger::LEVEL_MAP, Logger#debug -
Syslog
:: Logger # error(message = nil , &block) -> true (301.0) -
ERROR 情報を出力します。syslog の warning の情報として記録されます。
ERROR 情報を出力します。syslog の warning の情報として記録されます。
ブロックを与えなかった場合は、message をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。
@see Syslog::Logger::LEVEL_MAP, Logger#error -
Syslog
:: Logger # fatal(message = nil , &block) -> true (301.0) -
FATAL 情報を出力します。syslog の err の情報として記録されます。
FATAL 情報を出力します。syslog の err の情報として記録されます。
ブロックを与えなかった場合は、message をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。
@see Syslog::Logger::LEVEL_MAP, Logger#fatal -
Syslog
:: Logger # info(message = nil , &block) -> true (301.0) -
INFO 情報を出力します。syslog の info の情報として記録されます。
INFO 情報を出力します。syslog の info の情報として記録されます。
ブロックを与えなかった場合は、message をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。
@see Syslog::Logger::LEVEL_MAP, Logger#info -
Syslog
:: Logger # unknown(message = nil , &block) -> true (301.0) -
UNKNOWN 情報を出力します。syslog の alert の情報として記録されます。
UNKNOWN 情報を出力します。syslog の alert の情報として記録されます。
ブロックを与えなかった場合は、message をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。
@see Syslog::Logger::LEVEL_MAP, Logger#unknown -
Syslog
:: Logger # warn(message = nil , &block) -> true (301.0) -
WARN 情報を出力します。syslog の notice の情報として記録されます。
WARN 情報を出力します。syslog の notice の情報として記録されます。
ブロックを与えなかった場合は、message をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。
@see Syslog::Logger::LEVEL_MAP, Logger#warn -
Thread
:: Queue # deq(non _ block = false) -> object (301.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 (301.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 (301.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 (301.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 # enq(obj , non _ block = false) -> () (301.0) -
キューに与えられたオブジェクトを追加します。
キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push -
Thread
:: SizedQueue # pop(non _ block = false) -> object (301.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 # push(obj , non _ block = false) -> () (301.0) -
キューに与えられたオブジェクトを追加します。
キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push -
Thread
:: SizedQueue # shift(non _ block = false) -> object (301.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... -
VALUE rb
_ iterate(VALUE (*call _ proc)() , VALUE date1 , VALUE (*block _ proc)() , date2) (301.0) -
ブロック付きメソッド(イテレータ)呼び出しを行う関数です.
ブロック付きメソッド(イテレータ)呼び出しを行う関数です.
まず call_proc(data1) を実行します。そしてその関数か
その直下のメソッドで yield が発生すると以下が実行されます。
block_proc(VALUE block_arg, VALUE data2, VALUE self)
block_arg はブロック引数(複数なら配列に入っている)、
data2 は rb_iterate() に渡したもの、
self は block_proc 呼び出し時点での self です。 -
static int blk
_ orphan(struct BLOCK *data) (301.0) -
data が作成された SCOPE かまたはその子ではない SCOPE を評価しているとき真。
data が作成された SCOPE かまたはその子ではない
SCOPE を評価しているとき真。 -
static struct BLOCKTAG * new
_ blktag(void) (301.0) -
-
static void blk
_ free(struct BLOCK *data) (301.0) -
-
static void blk
_ mark(struct BLOCK *data) (301.0) -
-
monitor (175.0)
-
スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。
スレッドの同期機構としてのモニター機能を提供するクラスです。
また同じスレッドから何度も lock できる Mutex としての機能も提供します。
モニターとは、一つの Mutex とそれに関連付けられた複数の
条件変数から構成された、スレッドの同期機構です。
Mutex と 条件変数によって同等の機能を実現することは
可能ですが、モニタの利点はライブラリがその関連を保証
していることです。
monitor は以下のような Thread::Mutex としての機能も提供します。
* lock の持ち主がスレッドである Mutex / 何度も lock できる Mutex
* l... -
Monitor
# enter -> () (91.0) -
モニターをロックします。
モニターをロックします。
一度に一つのスレッドだけがモニターをロックできます。
既にモニターがロックされている場合は、ロックが開放されるまで
そのスレッドは待ちます。
Thread::Mutex#lock に相当します。
Thread::Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ Monitor#exit を呼ばなければモニターは
解放されません。
//emlist[例][ruby]{
require 'monitor'
mon = Monitor.new
mon.enter
mon.en... -
Monitor
# mon _ enter -> () (91.0) -
モニターをロックします。
モニターをロックします。
一度に一つのスレッドだけがモニターをロックできます。
既にモニターがロックされている場合は、ロックが開放されるまで
そのスレッドは待ちます。
Thread::Mutex#lock に相当します。
Thread::Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ Monitor#exit を呼ばなければモニターは
解放されません。
//emlist[例][ruby]{
require 'monitor'
mon = Monitor.new
mon.enter
mon.en... -
MonitorMixin
# mon _ enter -> () (91.0) -
モニターをロックします。
モニターをロックします。
一度に一つのスレッドだけがモニターをロックできます。
既にモニターがロックされている場合は、ロックが開放されるまで
そのスレッドは待ちます。
Thread::Mutex#lock に相当します。
Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ mon_exit を呼ばなければモニターは
解放されません。
//emlist[例][ruby]{
require 'monitor'
buf = []
buf.extend(MonitorMixin)
buf.mon_ent... -
NEWS for Ruby 2
. 0 . 0 (73.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 1.9.3 以降の変更
=== 言語仕様の変更
* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI... -
Mutex
_ m (55.0) -
スレッド同期機構である Thread::Mutex のモジュール版です。クラスに Module#include することでそのクラスに Mutex 機能を持たせることができます。 また、普通のオブジェクトを Object#extend により Mutex にする事ができます。
スレッド同期機構である Thread::Mutex のモジュール版です。クラスに
Module#include することでそのクラスに Mutex 機能を持たせることができます。
また、普通のオブジェクトを Object#extend により Mutex にする事ができます。
このモジュールによるロックは再入不可能です。再入可能な同等品が必要な場合は
Sync_m の利用を考えてください。
「mu_」の付かないメソッド(Mutex_m#lock, Mutex_m#synchronize,
Mutex_m#locked?, Mutex_m#try_lock, Mutex_m#unlock)... -
Monitor (49.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... -
ruby 1
. 8 . 3 feature (37.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
ruby 1.8.3 feature
*((<ruby 1.8 feature>))
*((<ruby 1.8.2 feature>))
ruby 1.8.2 から ruby 1.8.3 までの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ... -
ruby 1
. 8 . 5 feature (37.0) -
ruby 1.8.5 feature ruby 1.8.4 から ruby 1.8.5 までの変更点です。
ruby 1.8.5 feature
ruby 1.8.4 から ruby 1.8.5 までの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッ... -
NEWS for Ruby 2
. 1 . 0 (19.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.0.0 以降の変更
=== 言語仕様の変更
* キーワード引数のデフォルト値が省略可能になりました。これらの「必須キーワード引数」は呼び出し時に明示的に与えなければなりません。
* 整数や小数のリテラルの末尾に'r','i','...