別のキーワード
種類
ライブラリ
- English (2)
- ビルトイン (230)
- csv (10)
- dbm (5)
- etc (4)
- gdbm (6)
- getoptlong (2)
- matrix (18)
-
net
/ http (8) -
net
/ pop (14) -
net
/ smtp (3) - objspace (2)
- open3 (1)
- openssl (6)
- ostruct (2)
- pathname (6)
- pp (1)
- prime (12)
- psych (2)
- rake (1)
-
rdoc
/ context (4) - readline (2)
- resolv (9)
-
rexml
/ document (17) -
rexml
/ parsers / pullparser (1) -
rinda
/ tuplespace (1) -
rubygems
/ config _ file (1) -
rubygems
/ package / tar _ input (1) -
rubygems
/ package / tar _ reader (2) -
rubygems
/ source _ index (2) - sdbm (4)
- set (4)
- shell (10)
-
shell
/ builtin-command (5) -
shell
/ command-processor (5) -
shell
/ filter (6) -
shell
/ process-controller (1) -
shell
/ system-command (1) - socket (7)
- stringio (18)
- syslog (2)
- thread (11)
- tsort (16)
-
webrick
/ httpauth / htdigest (1) -
webrick
/ httpauth / htpasswd (1) -
webrick
/ httprequest (1) -
webrick
/ httpresponse (1) -
webrick
/ httputils (1) -
win32
/ registry (3) - win32ole (20)
-
yaml
/ dbm (3) - zlib (11)
クラス
-
ARGF
. class (27) - Addrinfo (2)
- Array (20)
- BasicSocket (1)
- CSV (5)
-
CSV
:: Row (2) -
CSV
:: Table (3) - DBM (5)
- Dir (8)
- Enumerator (10)
-
Enumerator
:: Lazy (15) -
Enumerator
:: Yielder (2) -
Etc
:: Group (2) -
Etc
:: Passwd (2) - File (2)
- GDBM (6)
-
Gem
:: ConfigFile (1) -
Gem
:: Package :: TarInput (1) -
Gem
:: Package :: TarReader (2) -
Gem
:: SourceIndex (2) - GetoptLong (2)
- Hash (13)
- IO (32)
- Integer (2)
- Matrix (14)
- Module (3)
-
Net
:: POP3 (5) -
Net
:: POPMail (9) -
Net
:: SMTP (3) - Object (6)
-
OpenSSL
:: ASN1 :: Constructive (1) -
OpenSSL
:: Config (1) - OpenStruct (2)
- PP (1)
- Pathname (6)
- Prime (4)
-
Prime
:: PseudoPrimeGenerator (6) -
Psych
:: Nodes :: Node (2) -
RDoc
:: Context (4) -
REXML
:: AttlistDecl (1) -
REXML
:: Attributes (2) -
REXML
:: Element (3) -
REXML
:: Elements (3) -
REXML
:: Parent (6) -
REXML
:: Parsers :: PullParser (1) -
REXML
:: XPath (1) -
Rake
:: TaskArguments (1) - Range (3)
- Resolv (4)
-
Resolv
:: DNS (3) -
Resolv
:: Hosts (2) -
Rinda
:: TupleSpace (1) - SDBM (4)
- Set (4)
- Shell (10)
-
Shell
:: Cat (1) -
Shell
:: CommandProcessor (5) -
Shell
:: Concat (1) -
Shell
:: Echo (1) -
Shell
:: Filter (6) -
Shell
:: Glob (1) -
Shell
:: ProcessController (1) -
Shell
:: SystemCommand (1) -
Shell
:: Tee (1) - Socket (4)
- String (19)
- StringIO (18)
- Struct (4)
- Thread (5)
-
Thread
:: Queue (6) -
Thread
:: SizedQueue (3) - Vector (4)
-
WEBrick
:: HTTPAuth :: Htdigest (1) -
WEBrick
:: HTTPAuth :: Htpasswd (1) -
WEBrick
:: HTTPRequest (1) -
WEBrick
:: HTTPResponse (1) -
WEBrick
:: HTTPUtils :: FormData (1) - WIN32OLE (4)
-
WIN32OLE
_ EVENT (2) -
WIN32OLE
_ PARAM (2) -
WIN32OLE
_ TYPE (3) -
WIN32OLE
_ VARIABLE (5) -
Win32
:: Registry (3) -
YAML
:: DBM (3) -
Zlib
:: Deflate (1) -
Zlib
:: GzipReader (8) -
Zlib
:: GzipWriter (2)
モジュール
- Enumerable (36)
- Kernel (9)
-
Net
:: HTTPHeader (8) - ObjectSpace (6)
-
OpenSSL
:: Buffering (3) -
REXML
:: Node (1) - Syslog (2)
- TSort (16)
オブジェクト
- ENV (8)
-
Readline
:: HISTORY (2)
キーワード
-
$ CHILD _ STATUS (1) -
$ LAST _ PAREN _ MATCH (1) -
$ _ (1) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - << (1)
- ARGF (1)
- ConditionVariable (1)
- DATA (1)
- Fiber (1)
- Lazy (1)
-
NEWS for Ruby 2
. 0 . 0 (1) - OCSP (1)
- Open3 (1)
- Proc (1)
- Queue (1)
- Range (1)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (1)
- ThreadGroup (1)
-
WIN32OLE
_ EVENT (1) -
WIN32OLE
_ METHOD (1) -
WIN32OLE
_ TYPELIB (1) -
WIN32OLE
_ VARIABLE (1) - [] (1)
-
alias
_ command (1) - all (3)
-
append
_ features (1) - bytes (8)
-
canonical
_ each (1) - cat (3)
- chars (8)
- chunk (3)
-
chunk
_ while (1) - clear (1)
- codepoints (8)
- collect (3)
- collect! (2)
-
collect
_ concat (1) - count (3)
-
def
_ system _ command (1) - default (1)
-
default
_ event _ sources (1) - deflate (1)
-
delete
_ if (2) - deq (2)
- each2 (2)
-
each
_ active _ object (1) -
each
_ address (4) -
each
_ attribute (2) -
each
_ byte (11) -
each
_ capitalized (1) -
each
_ capitalized _ name (1) -
each
_ char (8) -
each
_ child (4) -
each
_ classmodule (1) -
each
_ codepoint (8) -
each
_ cons (2) -
each
_ constant (1) -
each
_ data (1) -
each
_ element (1) -
each
_ element _ with _ attribute (1) -
each
_ element _ with _ text (1) -
each
_ entry (4) -
each
_ filename (1) -
each
_ header (1) -
each
_ index (4) -
each
_ key (9) -
each
_ line (19) -
each
_ mail (1) -
each
_ method (1) -
each
_ name (5) -
each
_ object (4) -
each
_ option (1) -
each
_ pair (12) -
each
_ prime (2) -
each
_ recursive (1) -
each
_ resource (1) -
each
_ slice (2) -
each
_ strongly _ connected _ component (4) -
each
_ strongly _ connected _ component _ from (4) -
each
_ value (10) -
each
_ with _ index (6) -
each
_ with _ object (2) - echo (3)
-
enum
_ for (4) - eof (1)
- eof? (1)
-
extend
_ object (1) -
find
_ index (3) - first (2)
-
flat
_ map (1) - fnmatch (1)
- fnmatch? (1)
-
force
_ quotes? (1) - foreach (13)
- getoptlong (1)
- glob (3)
- handler= (1)
- index (3)
- inject (4)
-
inplace
_ mode (1) -
install
_ system _ commands (1) -
instance
_ method (1) - invert (1)
- join (2)
-
keep
_ if (2) - lambda (2)
- length (1)
- lines (16)
- mail (3)
- map (2)
- map! (2)
- mask (1)
- mask= (1)
-
memsize
_ of _ all (1) - name (1)
-
net
/ imap (1) -
net
/ pop (1) -
net
/ smtp (1) - new (9)
- notify (1)
-
ole
_ func _ methods (1) -
ole
_ get _ methods (1) -
ole
_ query _ interface (1) -
ole
_ type (1) -
ole
_ type _ detail (1) - open (2)
- open-uri (1)
- optparse (1)
- output? (1)
- pack (1)
- pack テンプレート文字列 (1)
- parse (2)
- pass (1)
- pop (5)
- pos (2)
- pp (1)
- prime (1)
- proc (2)
- progids (1)
- push (2)
-
reachable
_ objects _ from (1) - recvmsg (1)
- reduce (3)
- reject! (2)
-
respond
_ to? (1) -
reverse
_ each (4) -
rinda
/ rinda (1) - rss (1)
-
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 4 feature (1) - select! (2)
-
send
_ mail (1) - sendmail (1)
- seplist (1)
- shift (2)
- size (1)
-
slice
_ after (4) -
slice
_ before (5) -
slice
_ when (2) - start (2)
-
strongly
_ connected _ components (1) - sum (3)
-
take
_ while (2) -
tcp
_ server _ sockets (4) - tee (3)
- tell (2)
- test (2)
-
to
_ enum (4) -
to
_ s (1) - tsort (2)
-
tsort
_ each (4) -
tsort
_ each _ child (1) -
tsort
_ each _ node (1) -
unalias
_ command (1) -
undef
_ system _ command (1) - unpack (1)
- update (1)
- upto (1)
- value (2)
- variables (1)
-
webrick
/ cgi (1) -
win32
/ registry (1) -
with
_ index (4) -
with
_ object (2) - yaml (1)
- yield (1)
- zip (4)
- メソッド呼び出し(super・ブロック付き・yield) (1)
- 制御構造 (1)
- 手続きオブジェクトの挙動の詳細 (1)
検索結果
先頭5件
-
prime (55.0)
-
素数や素因数分解を扱うライブラリです。
素数や素因数分解を扱うライブラリです。
ライブラリの中心にあるのは Prime クラスで、これは素数全体を表すシングルトンです。また、素数性と素因数分解に関するメソッドを Integer に追加します。
さらに、 Prime クラスの機能を実現するための低水準のクラスも幾つか提供されています。
//emlist[例][ruby]{
require 'prime'
Prime.each(100) do |prime|
p prime #=> 2, 3, 5, 7, 11, ..., 97
end
2.prime? #=> true
4.prime? #=> false
//}
==... -
Array
# collect! -> Enumerator (43.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Array
# map! -> Enumerator (43.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Array
. new(ary) -> Array (43.0) -
指定された配列 ary を複製して返します。 Array#dup 同様 要素を複製しない浅い複製です。
指定された配列 ary を複製して返します。
Array#dup 同様 要素を複製しない浅い複製です。
@param ary 複製したい配列を指定します。
//emlist[例][ruby]{
p Array.new([1,2,3]) # => [1,2,3]
a = ["a", "b", "c"]
b = Array.new(a)
a.each{|s| s.capitalize! }
p a #=> ["A", "B", "C"]
p b #=> ["A", "B", "C"] (b は ... -
Enumerable
# count -> Integer (40.0) -
レシーバの要素数を返します。
レシーバの要素数を返します。
引数を指定しない場合は、レシーバの要素数を返します。
このとき、要素数を一つずつカウントします。
引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します(一致は == で判定します)。
ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
enum = [1, 2, 4, 2].each
enum.count # => 4
enum.count(2) ... -
Enumerable
# count(item) -> Integer (40.0) -
レシーバの要素数を返します。
レシーバの要素数を返します。
引数を指定しない場合は、レシーバの要素数を返します。
このとき、要素数を一つずつカウントします。
引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します(一致は == で判定します)。
ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
enum = [1, 2, 4, 2].each
enum.count # => 4
enum.count(2) ... -
Enumerable
# first(n) -> Array (40.0) -
Enumerable オブジェクトの最初の要素、もしくは最初の n 要素を返します。
Enumerable オブジェクトの最初の要素、もしくは最初の n 要素を返します。
Enumerable オブジェクトが空の場合、引数を指定しない形式では nil を返します。
引数を指定する形式では、空の配列を返します。
@param n 取得する要素数。
//emlist[例][ruby]{
e = "abcd".each_byte
e.first #=> 97
e.first(2) #=> [97,98]
e = "".each_byte
e.first #=> nil
e.first(2) #=> []
//} -
Enumerable
# take _ while -> Enumerator (40.0) -
Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。
Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
//emlist[例][ruby]{
e = [1, 2, 3, 4, 5, 0].each
e.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Array#take_while -
Thread
# join -> self (40.0) -
スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。
スレッド self の実行が終了するまで、カレントスレッドを停止し
ます。self が例外により終了していれば、その例外がカレントス
レッドに対して発生します。
limit を指定して、limit 秒過ぎても自身が終了しない場合、nil を返します。
@param limit タイムアウトする時間を整数か小数で指定します。単位は秒です。
@raise ThreadError join を実行することによってデッドロックが起きる場合に発生します。またカレントスレッドを join したときにも発生します。
以下は、生成したすべてのスレッドの終了を待つ例です。
threads = ... -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (37.0) -
recvmsg(2) を用いてメッセージを受け取ります。
recvmsg(2) を用いてメッセージを受け取ります。
このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#recvmsg_nonblock を用います。
maxmesglen, maxcontrollen で受け取るメッセージおよび補助データ
(Socket::AncillaryData)の最大長をバイト単位で指定します。
省略した場合は必要なだけ内部バッファを拡大して
データが切れないようにします。
flags では Socket::MSG_* という名前の定数の biwsise OR を取った
ものを渡します。
opts にはその他... -
CSV
:: Table # push(*rows) -> self (37.0) -
複数の行を追加するためのショートカットです。
複数の行を追加するためのショートカットです。
以下と同じです。
//emlist[][ruby]{
rows.each {|row| self << row }
//}
@param rows CSV::Row のインスタンスか配列を指定します。
//emlist[例][ruby]{
require 'csv'
csv = CSV.new("a,b,c\n1,2,3", headers: true)
table = csv.read
rows = [
CSV::Row.new(table.headers, [4, 5, 6]),
[7, 8, 9]
]
table.push(... -
Enumerable
# zip(*lists) -> [[object]] (37.0) -
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@param lists 配列を指定します。配列でない場合は to_ary メソッドにより配列に変換します。
to_ary メソッドが無い場合は each を試します。
//emlist[例][ruby]{
p (1..3).zip([4,5,6], [7,8,9])
# => [[1, 4, 7], [2, 5, 8], [3,... -
Fiber (37.0)
-
ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。 他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。
ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。
他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。
Thread と違いユーザレベルスレッドとして実装されています。
Thread クラスが表すスレッドと違い、明示的に指定しない限り
ファイバーのコンテキストは切り替わりません。
またファイバーは親子関係を持ちます。Fiber#resume を呼んだファイバーが親になり
呼ばれたファイバーが子になります。親子関係を壊すような遷移(例えば
自分の親の親のファイバーへ切り替えるような処理)はできません。
例外 FiberErr... -
File
. fnmatch(pattern , path , flags = 0) -> bool (37.0) -
ファイル名のパターンマッチ fnmatch(3) を行います。 path が pattern にマッチすれば真を返します。そうでない場合には false を返します。
ファイル名のパターンマッチ fnmatch(3) を行います。
path が pattern にマッチすれば真を返します。そうでない場合には false を返します。
@param pattern パターンを文字列で指定します。ワイルドカードとして `*',
`?', `[]', `{}' が使用できます。
Dir.glob とは違って `**/' は使用できません。
//emlist[例][ruby]{
%w(foo foobar bar).each {|f|
p File.fnmatch("foo*", f)
}
# =>... -
File
. fnmatch?(pattern , path , flags = 0) -> bool (37.0) -
ファイル名のパターンマッチ fnmatch(3) を行います。 path が pattern にマッチすれば真を返します。そうでない場合には false を返します。
ファイル名のパターンマッチ fnmatch(3) を行います。
path が pattern にマッチすれば真を返します。そうでない場合には false を返します。
@param pattern パターンを文字列で指定します。ワイルドカードとして `*',
`?', `[]', `{}' が使用できます。
Dir.glob とは違って `**/' は使用できません。
//emlist[例][ruby]{
%w(foo foobar bar).each {|f|
p File.fnmatch("foo*", f)
}
# =>... -
Matrix
# find _ index(selector = :all) -> Enumerator (37.0) -
指定した値と一致する要素の位置を [row, column] という配列で返します。 ブロックを与えた場合は各要素を引数としてブロックを呼び出し、 返り値が真であった要素の位置を返します。
指定した値と一致する要素の位置を [row, column] という配列で返します。
ブロックを与えた場合は各要素を引数としてブロックを呼び出し、
返り値が真であった要素の位置を返します。
複数の位置で値が一致する/ブロックが真を返す、場合は最初
に見つかった要素の位置を返します。
selector で行列のどの部分を探すかを指定します。この引数の意味は
Matrix#each を参照してください。
//emlist[例][ruby]{
require 'matrix'
Matrix[ [1,2], [3,4] ].index(&:even?) # => [0, 1]
Matrix[ ... -
Matrix
# index(selector = :all) -> Enumerator (37.0) -
指定した値と一致する要素の位置を [row, column] という配列で返します。 ブロックを与えた場合は各要素を引数としてブロックを呼び出し、 返り値が真であった要素の位置を返します。
指定した値と一致する要素の位置を [row, column] という配列で返します。
ブロックを与えた場合は各要素を引数としてブロックを呼び出し、
返り値が真であった要素の位置を返します。
複数の位置で値が一致する/ブロックが真を返す、場合は最初
に見つかった要素の位置を返します。
selector で行列のどの部分を探すかを指定します。この引数の意味は
Matrix#each を参照してください。
//emlist[例][ruby]{
require 'matrix'
Matrix[ [1,2], [3,4] ].index(&:even?) # => [0, 1]
Matrix[ ... -
Module
# instance _ method(name) -> UnboundMethod (37.0) -
self のインスタンスメソッド name をオブジェクト化した UnboundMethod を返します。
self のインスタンスメソッド name をオブジェクト化した UnboundMethod を返します。
@param name メソッド名を Symbol または String で指定します。
@raise NameError self に存在しないメソッドを指定した場合に発生します。
@see Module#public_instance_method, Object#method
//emlist[例][ruby]{
class Interpreter
def do_a() print "there, "; end
def do_d() print "Hello ";... -
Net
:: SMTP # send _ mail(mailsrc , from _ addr , *to _ addrs) -> () (37.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) -> () (37.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) -> () (37.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,
... -
ObjectSpace
. # memsize _ of _ all(klass = nil) -> Integer (37.0) -
すべての生存しているオブジェクトが消費しているメモリ使用量をバイト単位 で返します。
すべての生存しているオブジェクトが消費しているメモリ使用量をバイト単位
で返します。
@param klass 指定したクラスのインスタンスのメモリ使用量を返します。省略
した場合はすべてのクラスのインスタンスのメモリ使用量を返し
ます。
本メソッドは以下のような Ruby のコードで定義できます。
//emlist[例][ruby]{
def memsize_of_all klass = false
total = 0
ObjectSpace.each_object{|e|
total += ObjectSpace.... -
OpenSSL
:: OCSP (37.0) -
OCSP(Online Certificate Status Protocol)を取り扱うための モジュールです。OCSP は 2560 で定義されています。
OCSP(Online Certificate Status Protocol)を取り扱うための
モジュールです。OCSP は 2560 で定義されています。
このモジュールは OCSP のリクエストとレスポンスを取り扱う
機能を持っています。
OCSP レスポンダと通信する機能はありません。ユーザが例えば
OCSP over http などを実装する必要があります。
=== 例
OCSP レスポンダにリクエストを送ってその返答を表示する
require 'openssl'
require 'net/http'
# ...
subject # 問い合わせ対象の証明書(Ce... -
Shell
. undef _ system _ command(command) -> Shell :: CommandProcessor (37.0) -
commandを削除します.
commandを削除します.
@param command 削除するコマンドの文字列を指定します。
動作例:
require 'shell'
Shell.def_system_command("ls")
# ls を定義
Shell.undef_system_command("ls")
# ls を 削除
sh = Shell.new
begin
sh.transact {
ls("-l").each {|l|
puts l
}
}
rescue NameError => err
puts ... -
Thread
. pass -> nil (37.0) -
他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、 他の実行可能状態のスレッドに制御を移します。
他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、
他の実行可能状態のスレッドに制御を移します。
Thread.new do
(1..3).each{|i|
p i
Thread.pass
}
exit
end
loop do
Thread.pass
p :main
end
#=>
1
:main
2
:main
3
:main -
Thread
:: Queue (37.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... -
pp (37.0)
-
オブジェクトなどを見やすく出力するためのライブラリです。
オブジェクトなどを見やすく出力するためのライブラリです。
このライブラリを require すると Kernel.#pp が定義されます。
Kernel.#p のかわりに Kernel.#pp を使うことにより、
適切にインデントと改行された分かりやすい出力を得ることが出来ます。
pp ライブラリは、ユーザがあたらしく定義したクラスに対しても見やすい表示を
するように作られていますので、Kernel.#pp を使う上で余計な作業をする
必要はありません。
=== どちらが読みやすいでしょうか?
p による pretty-print されてない出力:
#<PP:0x81a0d10 @s... -
webrick
/ cgi (37.0) -
一般の CGI 環境で webrick ライブラリのサーブレットと同じように CGI スクリプトを書くための ライブラリです。サーバが WEBrick でなくても使うことが出来ます。
一般の CGI 環境で webrick ライブラリのサーブレットと同じように CGI スクリプトを書くための
ライブラリです。サーバが WEBrick でなくても使うことが出来ます。
=== 使い方
WEBrick のサーブレットを作成するのと同じように、WEBrick::CGI のサブクラスでメソッド
do_GET や do_POST を定義することによって CGI スクリプトを書きます。
スクリプトの最後で WEBrick::CGI#start メソッドを呼ぶ必要があります。
WEBrick::CGI#start メソッドは service メソッドを呼び出し、service メソッ... -
StringIO
# chars -> Enumerator (31.0) -
自身に含まれる文字を一文字ずつブロックに渡して評価します。
自身に含まれる文字を一文字ずつブロックに渡して評価します。
自身は読み込み用にオープンされていなければなりません。
@raise IOError 自身が読み込み用にオープンされていない場合に発生します。
@see IO#each_char -
StringIO
# codepoints -> Enumerator (31.0) -
自身の各コードポイントに対して繰り返します。
自身の各コードポイントに対して繰り返します。
@see IO#each_codepoint -
Array
. new(size = 0 , val = nil) -> Array (13.0) -
長さ size の配列を生成し、各要素を val で初期化して返します。
長さ size の配列を生成し、各要素を val で初期化して返します。
要素毎に val が複製されるわけではないことに注意してください。
全要素が同じオブジェクト val を参照します。
後述の例では、配列の各要素は全て同一の文字列を指します。
@param size 配列の長さを数値で指定します。
@param val 配列の要素の値を指定します。
//emlist[例][ruby]{
ary = Array.new(3, "foo")
p ary #=> ["foo", "foo", "foo"]
ary[0].capitalize!
...