ライブラリ
- ビルトイン (114)
- abbrev (1)
- benchmark (1)
- bigdecimal (3)
-
bigdecimal
/ math (1) - csv (2)
- date (3)
- drb (1)
-
drb
/ acl (1) - erb (1)
- fileutils (3)
- forwardable (2)
- gdbm (1)
- ipaddr (3)
- matrix (4)
- monitor (2)
-
mutex
_ m (1) -
net
/ ftp (1) -
net
/ http (3) - nkf (2)
- observer (1)
- open3 (1)
- openssl (13)
- optparse (13)
- pathname (1)
- prime (3)
- pstore (1)
- psych (11)
-
rexml
/ document (3) -
rexml
/ parsers / sax2parser (5) -
rexml
/ streamlistener (8) -
rinda
/ rinda (2) -
rinda
/ tuplespace (1) -
ripper
/ filter (1) - rubygems (1)
-
rubygems
/ platform (1) -
rubygems
/ requirement (3) - sdbm (2)
- singleton (1)
- socket (3)
- stringio (1)
- timeout (4)
- tracer (2)
- weakref (1)
-
webrick
/ httputils (1) - win32ole (8)
クラス
- Array (2)
- BigDecimal (3)
- Date (1)
- GDBM (1)
-
Gem
:: Platform (1) -
Gem
:: Requirement (3) - Hash (2)
- IO (4)
- IPAddr (2)
- Integer (1)
- Matrix (2)
- Module (5)
-
Net
:: HTTP (2) - Object (9)
-
OpenSSL
:: BN (1) - OptionParser (12)
- Pathname (1)
- Prime (2)
- Proc (4)
-
Psych
:: Handler (6) -
Psych
:: Nodes :: Document (1) -
REXML
:: Entity (2) -
REXML
:: Parsers :: SAX2Parser (5) - Range (3)
- Regexp (4)
-
Rinda
:: DRbObjectTemplate (1) -
Rinda
:: TupleSpace (1) - SDBM (2)
- Socket (3)
- String (15)
- Struct (4)
- SystemCallError (1)
- Thread (2)
- Tracer (2)
- Vector (2)
モジュール
- Benchmark (1)
- BigMath (1)
- Enumerable (8)
- FileUtils (3)
- Kernel (23)
- Math (6)
- NKF (1)
- ObjectSpace (2)
- Process (1)
-
REXML
:: StreamListener (8) - Timeout (2)
キーワード
-
$ _ (1) - % (1)
- * (2)
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - <=> (1)
- =~ (2)
- ACL (1)
- ASN1 (1)
- Abbrev (1)
- BasicObject (1)
- Buffering (1)
- CSV (1)
- Cipher (1)
- ConditionVariable (1)
- DATA (1)
- DH (1)
- DRbProtocol (1)
- Date (1)
- DateTime (1)
- ERB (1)
- EXXX (1)
- Enumerator (1)
- Extension (1)
- ExternalEntity (1)
- Fiber (1)
- FileTest (1)
- Filter (1)
- FormData (1)
- Forwardable (1)
- GC (1)
- HTTPRequest (1)
- IO (1)
- IPAddr (1)
- Location (1)
- MLSxEntry (1)
- Marshal フォーマット (1)
- Math (1)
- Method (1)
- Monitor (1)
- MonitorMixin (1)
-
Mutex
_ m (1) -
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 1 . 0 (1) -
NEWS for Ruby 2
. 2 . 0 (1) -
NEWS for Ruby 2
. 3 . 0 (1) -
NEWS for Ruby 2
. 4 . 0 (1) - NKF (1)
- Nodes (1)
- Numeric (1)
- OCSP (1)
- Observable (1)
- Open3 (1)
- OptionParser (1)
- PKCS7 (1)
- PStore (1)
- Prime (1)
- Queue (1)
- Random (2)
- Range (1)
- ReFe (1)
- Request (1)
- Ruby プログラムの実行 (1)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (1)
- Ruby用語集 (1)
- SSLContext (1)
- SSLSocket (1)
- STDERR (1)
- STDIN (1)
- STDOUT (1)
- Session (1)
- SingleForwardable (1)
- Singleton (1)
- SizedQueue (1)
- Status (1)
- StringIO (1)
- Symbol (1)
- Table (1)
- Template (1)
- Thread (1)
- ThreadGroup (1)
- Time (1)
- TracePoint (1)
- TreeBuilder (1)
- WIN32OLE (1)
-
WIN32OLE
_ EVENT (1) -
WIN32OLE
_ METHOD (1) -
WIN32OLE
_ PARAM (1) -
WIN32OLE
_ TYPE (1) -
WIN32OLE
_ TYPELIB (1) -
WIN32OLE
_ VARIABLE (1) -
WIN32OLE
_ VARIANT (1) - WeakRef (1)
- YAMLTree (1)
- [] (8)
- acosh (1)
-
add
_ filter (2) - alias (1)
- asinh (1)
- atan (1)
- atanh (1)
- attlistdecl (1)
- base64 (1)
- benchmark (1)
- bigdecimal (1)
- call (1)
- cdata (1)
- cgi (1)
-
cgi
/ session (1) - clone (1)
- columns (1)
- cosh (1)
- coverage (1)
- csv (1)
- debug (1)
-
define
_ finalizer (2) - delegate (1)
- diagonal (1)
- doctype (1)
- drb (1)
-
drb
/ extservm (1) -
drb
/ gw (1) - dup (1)
- e2mmap (1)
- each (2)
- elementdecl (1)
-
end
_ document (1) - etc (1)
- exec (5)
- fiddle (1)
-
fiddle
/ import (1) - find (1)
-
for
_ fd (1) - format (1)
- forwardable (1)
- gem (1)
-
get
_ print (2) - getaddrinfo (1)
- gethostbyname (1)
- getnameinfo (1)
- getoptlong (1)
- grep (2)
-
grep
_ v (2) -
handle
_ interrupt (1) - include? (2)
- instruction (1)
- invert (1)
- irb (1)
-
irb
/ completion (1) -
irb
/ xmp (1) - kconv (1)
- length (1)
- listen (5)
- load (1)
- logger (1)
- match (2)
- mathn (1)
- member? (1)
- mkmf (1)
- mode (2)
-
module
_ function (3) - monitor (1)
-
net
/ ftp (1) -
net
/ http (1) -
net
/ imap (1) -
net
/ pop (1) -
net
/ smtp (1) - new (7)
- nkf (1)
- notify (1)
- on (12)
- open (4)
- open-uri (1)
- openssl (1)
- optparse (1)
- pack (2)
- pack テンプレート文字列 (1)
-
pending
_ interrupt? (1) - pp (1)
- prettyprint (1)
- prime (1)
- profile (1)
- psych (1)
- rake (1)
- rdoc (1)
-
rdoc
/ generator (1) -
rdoc
/ generator / json _ index (1) -
rdoc
/ markdown (1) -
rdoc
/ markup (1) -
rdoc
/ parser / ruby (1) -
require
_ relative (1) - resolv (1)
- rexml (1)
-
rexml
/ parsers / streamparser (1) -
rexml
/ parsers / ultralightparser (1) -
rinda
/ rinda (1) -
rm
_ r (1) -
rm
_ rf (1) - rmtree (1)
- rss (1)
-
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 5 feature (1) -
ruby 1
. 9 feature (1) - rubygems (1)
-
rubygems
/ security (1) -
satisfied
_ by? (1) - scalar (1)
- scanf (1)
- set (1)
-
set
_ trace _ func (1) - shell (1)
- sinh (1)
- size (1)
- slice (6)
-
slice
_ after (2) -
slice
_ before (2) - socket (1)
- spawn (4)
- sprintf (1)
- sprintf フォーマット (1)
-
start
_ document (1) -
start
_ mapping (1) -
start
_ sequence (1) - sync (1)
-
syslog
/ logger (1) - system (4)
-
tag
_ end (1) -
tag
_ start (1) - tanh (1)
- tempfile (1)
- timeout (4)
- tracer (1)
- tsort (1)
- un (1)
-
undef
_ method (1) - unpack (1)
- uri (1)
- webrick (1)
-
webrick
/ cgi (1) -
win32
/ registry (1) - xmldecl (1)
- yaml (1)
-
yaml
_ tag (1) - yield (1)
- zlib (1)
- このマニュアルのヘルプ (1)
- オブジェクト (1)
- オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (1)
- クラス (1)
- クラス/メソッドの定義 (1)
- スレッド (1)
- セキュリティモデル (1)
- 制御構造 (1)
- 演算子式 (1)
検索結果
先頭5件
-
OpenSSL
:: PKey :: DH (19.0) -
Diffie-Hellman 鍵共有クラス
Diffie-Hellman 鍵共有クラス
Diffie-Hellman 鍵共有プロトコルは署名ができないため、
OpenSSL::PKey::PKey#sign や OpenSSL::PKey::PKey#verify
を呼び署名や署名の検証を行おうとすると例外
OpenSSL::PKey::PKeyError が発生します。
Diffie-Hellman はこのライブラリでは基本的には鍵共有にしか利用できません。
=== 例
鍵共有の例。
require 'openssl'
# パラメータの生成
dh = OpenSSL::PKey::DH.generate(10... -
OpenSSL
:: Random (19.0) -
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
* 4086
=== 暗号と乱数
OpenSSL では、鍵を生成するためなどに乱数を用いています。例えば RSA では
巨大(512bitや1024bitなど)な素数の組を乱数で生成し、そこから公開鍵、秘密鍵の
ペアを計算します。鍵は他人に知られてはならないため、
その乱数は外部からの推論が不可能な良い性質を持っている必要があります。
このようなメソッドには以下のものがあります。
* OpenSSL::PKey::RSA.generate
* OpenSSL::PKey::DSA.generate
* Open... -
OpenSSL
:: SSL :: SSLContext (19.0) -
SSL コンテキストクラス。
SSL コンテキストクラス。
SSL コネクション(OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer)
オブジェクトを生成するためのファクトリクラスです。
コネクションを生成するために必要なパラメータ(プロトコルのバージョン、
証明書の情報、認証の要件など)を保持します。
コネクションを1度生成して以降は、コンテキストが保持しているパラメータを
変更できません。一部のパラメータが共有されるため、安全性のため
Object#freeze によってオブジェクトを変更不可能にします。
ただしこの凍結は完全ではなく、
この後もセッション管理機能によ... -
OpenSSL
:: SSL :: SSLSocket (19.0) -
ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。
ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。
=== 例
SSL/TLS サーバに接続して write します。
require 'socket'
require 'openssl'
include OpenSSL
ctx = SSL::SSLContext.new
ctx.set_params(verify_mode: OpenSSL::SSL::VERIFY_PEER, verify_hostname: true)
soc = TCPSocket.new('www.example.com', 443)
ssl ... -
OpenSSL
:: X509 :: Extension (19.0) -
X.509 v3 証明書の拡張領域のためのクラスです。
X.509 v3 証明書の拡張領域のためのクラスです。
OpenSSL::X509::Certificate オブジェクトは
その拡張領域を Extension オブジェクトの配列として保持し、
OpenSSL::X509::Certificate#extensions でその配列が得られます。
このクラスのインスタンス生成は OpenSSL::ASN1::ASN1Data を
取り扱う必要があり面倒です。
OpenSSL::X509::ExtensionFactory を用いることで
インスタンスの生成を簡便に行うことができます。
=== 参照
* 5280 -
OpenSSL
:: X509 :: Request (19.0) -
X.509 の証明書署名要求(Certificate Signing Request, CSR)を表わす クラスです。
X.509 の証明書署名要求(Certificate Signing Request, CSR)を表わす
クラスです。
X.509 CSR については 2986 などを参照してください。
=== 例
CSR を生成する例。
require 'openssl'
# ファイルから秘密鍵を読み込む
rsa = OpenSSL::PKey::RSA.new(File.read("privkey.pem"))
# 新しい CSR オブジェクトを生成
csr = OpenSSL::X509::Request.new
# DN を生成
name = OpenSSL::X50... -
OptionParser (19.0)
-
コマンドラインのオプションを取り扱うためのクラスです。
コマンドラインのオプションを取り扱うためのクラスです。
オプションが指定された時に呼ばれるブロックを
OptionParser#on メソッドで登録していきます。
つまり、OptionParser を使う場合、基本的には
(1) OptionParser オブジェクト opt を生成する。
(2) オプションを取り扱うブロックを opt に登録する。
(3) opt.parse(ARGV) でコマンドラインを実際に parse する。
というような流れになります。
//emlist[][ruby]{
require "optparse"
ProgramConfig = Ha... -
OptionParser
# on(long , klass = String , desc = "") {|v| . . . } -> self (19.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
klass にはクラスを与えます。どのようなクラスを受け付けるかは、
以下の「デフォルトで利用可能な引数クラス」を参照して下さい。
OptionParser.accept や OptionParser#accept によって、受け付け
るクラスを増やすことができます。登録されていないクラスが指定された
場合、例外 ArgumentError を投げます。
また、登録されたクラスであっても引数が変換できないものである場合、例外
OptionParser::I... -
OptionParser
# on(short , klass = String , desc = "") {|v| . . . } -> self (19.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
klass にはクラスを与えます。どのようなクラスを受け付けるかは、
以下の「デフォルトで利用可能な引数クラス」を参照して下さい。
OptionParser.accept や OptionParser#accept によって、受け付け
るクラスを増やすことができます。登録されていないクラスが指定された
場合、例外 ArgumentError を投げます。
また、登録されたクラスであっても引数が変換できないものである場合、例外
OptionParser::I... -
OptionParser
# on(short , long , klass = String , desc = "") {|v| . . . } -> self (19.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
klass にはクラスを与えます。どのようなクラスを受け付けるかは、
以下の「デフォルトで利用可能な引数クラス」を参照して下さい。
OptionParser.accept や OptionParser#accept によって、受け付け
るクラスを増やすことができます。登録されていないクラスが指定された
場合、例外 ArgumentError を投げます。
また、登録されたクラスであっても引数が変換できないものである場合、例外
OptionParser::I... -
PStore (19.0)
-
Rubyのオブジェクトを外部ファイルに格納するためのクラスです。 内部で Marshal を使っています。
Rubyのオブジェクトを外部ファイルに格納するためのクラスです。
内部で Marshal を使っています。
=== 使い方
データベースにアクセスするためには、
transaction のブロック内である必要があります。
インターフェースは Hash に似ています。
require 'pstore'
db = PStore.new("/tmp/foo")
db.transaction do
p db.roots # => []
ary = db["root"] = [1,2,3,4]
ary[0] = [1,1.5]
end
... -
Prime (19.0)
-
素数全体を表します。
素数全体を表します。
=== インスタンスを取得する方法
Prime クラスはシングルトンであると考えてください。Prime クラスはデフォルトのインスタンスを持っており、ユーザーはそのインスタンスを利用すべきです。 Prime.instance によってそのインスタンスを取得できます。
なお、利便性のためにデフォルトインスタンスのメソッドをクラスメソッドとしても利用できます。
//emlist[例][ruby]{
require 'prime'
Prime.instance.prime?(2) #=> true
Prime.prime?(2) #=> true
... -
Prime
# each(upper _ bound = nil , generator = EratosthenesGenerator . new) -> Enumerator (19.0) -
全ての素数を順番に与えられたブロックに渡して評価します。
全ての素数を順番に与えられたブロックに渡して評価します。
@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。
@param generator 素数生成器のインスタンスを指定します。
@return ブロックの最後に評価された値を返します。
ブロックが与えられなかった場合は、Enumerator と互換性のある外部イテレータを返します。
//emlist[例][ruby]{
require 'prime'
Prime.each(6){|prime| ... -
Prime
# each(upper _ bound = nil , generator = EratosthenesGenerator . new) {|prime| . . . } -> object (19.0) -
全ての素数を順番に与えられたブロックに渡して評価します。
全ての素数を順番に与えられたブロックに渡して評価します。
@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。
@param generator 素数生成器のインスタンスを指定します。
@return ブロックの最後に評価された値を返します。
ブロックが与えられなかった場合は、Enumerator と互換性のある外部イテレータを返します。
//emlist[例][ruby]{
require 'prime'
Prime.each(6){|prime| ... -
Process
. exec(command , *args) -> () (19.0) -
カレントプロセスを与えられた外部コマンドで置き換えます。
カレントプロセスを与えられた外部コマンドで置き換えます。
=== 引数の解釈
引数が一つだけ与えられた場合、command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。
引数が複数与えられた場合、第 2 引数以降は command に直接渡され、
インタプリタから直接実行されます。
第 1 引数が 2 要素の配列の場合、第 1 要素の文字列が実際に起動する
プログラムのパスで、第 2 要素が「みせかけ... -
Process
:: Status (19.0) -
プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。
プロセスの終了ステータスを表すクラスです。
メソッド Process.#wait2 などの返り値として使われます。
=== 使用例
wait を使用した例
fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump? # システムがこのステータスをサポートしてなければ常にfalse
p "child #{$?.pid} dumped core."
end
... -
Psych
:: Handler # alias(anchor) -> () (19.0) -
anchor という名前の alias を見付けたときに呼び出されます。
anchor という名前の alias を見付けたときに呼び出されます。
必要に応じてこのメソッドを override してください。
@param anchor aliasのアンカー文字列
=== 例
以下の YAMLドキュメントは自分自身への参照を持つ配列を表しています。
--- &ponies
- first element
- *ponies
この &ponies が anchor で *ponies が alias です。この場合、
alias メソッドは "poines" という引数で呼び出されます。 -
Psych
:: Handler # end _ document(implicit) -> () (19.0) -
ドキュメントが終了したときに呼び出されます。
ドキュメントが終了したときに呼び出されます。
ドキュメントが implicit に終わったならば implicit には真が渡されます。
必要に応じてこのメソッドを override してください。
@param implicit ドキュメントが implicit に終わったかどうか
=== 例
以下の YAML ドキュメントでは implicit は true です。
---
hello world
また、以下の YAML ドキュメントでは implicit は false です。
---
hello world
... -
Psych
:: Handler # scalar(value , anchor , tag , plain , quoted , style) -> () (19.0) -
スカラー値を見付けたときに呼び出されます。
スカラー値を見付けたときに呼び出されます。
value にはスカラー値の文字列が渡されます。
anchor にはスカラー値に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag にはスカラー値に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
plain は plain style であるかどうか、quoted は quoted style であるかどうか
が渡されます。style には node の style が整数値で渡されます。
style は次の値のいずれか... -
Psych
:: Handler # start _ document(version , tag _ directives , implicit) -> () (19.0) -
YAML ドキュメントの始まりで呼び出されます。
YAML ドキュメントの始まりで呼び出されます。
version には YAML ドキュメントに宣言されているバージョンが
[major, minor] という配列で渡されます。宣言がない場合は空の配列が渡されます。
tag_directives には tag directive の配列が渡されます。
それぞれの tag は [prefix, suffix] という配列で表現されます。
implicit にはドキュメントが implicit に始まっているかどうかが
真偽値で渡されます。
必要に応じてこのメソッドを override してください。
@param version ... -
Psych
:: Handler # start _ mapping(anchor , tag , implicit , style) -> () (19.0) -
mapping の開始を見付けたときに呼び出されます。
mapping の開始を見付けたときに呼び出されます。
anchor には map に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag には map に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
implicit には map が implicit に開始されたかどうかが
真偽値で渡されます。
style には sequence の style が整数値で渡されます。以下のいずれか
です。
* Psych::Nodes::Mapping::BLOCK
... -
Psych
:: Handler # start _ sequence(anchor , tag , implicit , style) -> () (19.0) -
sequence の開始を見付けたときに呼び出されます。
sequence の開始を見付けたときに呼び出されます。
anchor には sequence に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag には sequence に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
implicit には sequence が implicit に開始されたかどうかが
真偽値で渡されます。
style には sequence の style が整数値で渡されます。以下のいずれか
です。
* Psych::Nodes:... -
Psych
:: Nodes (19.0) -
Psych が中間データとして利用している AST (Abstract Syntax Tree) に 関するモジュール。
Psych が中間データとして利用している AST (Abstract Syntax Tree) に
関するモジュール。
Psych.load によって YAML ドキュメントを Ruby オブジェクトに変換
するときには、一度中間的な AST に変換され、その AST が Ruby の
オブジェクトに変換されます。
逆向き、つまり Psych.dump で Ruby のオブジェクトを
YAML ドキュメントに変換するときには、中間的な AST に変換してから
それを YAML ドキュメントに変換します。
YAML AST の各ノードのクラスはすべて Psych::Nodes の下にあり... -
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
:: TreeBuilder (19.0) -
YAML AST を構築するためのクラスです。
YAML AST を構築するためのクラスです。
Psych::Parser.new に渡して YAML ドキュメントを YAML AST に変換する
ことができます。
また、Psych::Visitors::YAMLTree.new に渡して Ruby オブジェクト
を YAML AST に変換することもできます。
=== Example
parser = Psych::Parser.new Psych::TreeBuilder.new
parser.parse('--- foo')
parser.handler.root # => #<Psych::Nodes::Stre... -
Psych
:: Visitors :: YAMLTree (19.0) -
Ruby オブジェクトから YAML の AST を構築するためのクラスです。
Ruby オブジェクトから YAML の AST を構築するためのクラスです。
=== 例
builder = Psych::Visitors::YAMLTree.new
builder << { :foo => 'bar' }
builder << ["baz", "bazbaz"]
builder.tree # => #<Psych::Nodes::Stream ... > A stream containing two documents
puts tree.to_yaml
# =>
# ---
# :foo: bar
# ---
# - baz... -
REXML
:: Entity . new(array) -> REXML :: Entity (19.0) -
新たな Entity オブジェクトを生成して返します。
新たな Entity オブジェクトを生成して返します。
name, value で実体の名前とその値を定義します。
parent はその entity オブジェクトが属するノードを渡します。
reference でその実体宣言がパラメータ実体(parameter entity)かどうかを指定します。
このコンストラクタでは単純な内部実体(internal entity)宣言のみを実現できます。
それ以外の内容を保持する Entity オブジェクトが欲しい場合は、
文書に適切な DTD を含めておいてそれを REXML::Document.new で
パースするようにしてください。
配列... -
REXML
:: Entity . new(name , value , parent=nil , reference=false) -> REXML :: Entity (19.0) -
新たな Entity オブジェクトを生成して返します。
新たな Entity オブジェクトを生成して返します。
name, value で実体の名前とその値を定義します。
parent はその entity オブジェクトが属するノードを渡します。
reference でその実体宣言がパラメータ実体(parameter entity)かどうかを指定します。
このコンストラクタでは単純な内部実体(internal entity)宣言のみを実現できます。
それ以外の内容を保持する Entity オブジェクトが欲しい場合は、
文書に適切な DTD を含めておいてそれを REXML::Document.new で
パースするようにしてください。
配列... -
REXML
:: ExternalEntity (19.0) -
DTD 内の宣言でパラメータ実体参照を使って宣言が されているものを表わすクラスです。
DTD 内の宣言でパラメータ実体参照を使って宣言が
されているものを表わすクラスです。
例えば、以下の DTD 宣言における %HTMLsymbol が
それにあたります。
<!ENTITY % HTMLsymbol PUBLIC
"-//W3C//ENTITIES Symbols for XHTML//EN"
"xhtml-symbol.ent">
%HTMLsymbol;
//emlist[][ruby]{
require 'rexml/document'
doctype = REXML::Document.new(<<EOS).doctype
<!DO... -
REXML
:: Parsers :: SAX2Parser # listen(ary) { . . . } -> () (19.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
REXML
:: Parsers :: SAX2Parser # listen(ary , listener) -> () (19.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
REXML
:: Parsers :: SAX2Parser # listen(listener) -> () (19.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
REXML
:: Parsers :: SAX2Parser # listen(sym) { . . . } -> () (19.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
REXML
:: Parsers :: SAX2Parser # listen(sym , ary) { . . . } -> () (19.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
REXML
:: StreamListener # attlistdecl(element _ name , attributes , raw _ content) -> () (19.0) -
DTDの属性リスト宣言をパースしたときに呼び出されるコールバックです。
DTDの属性リスト宣言をパースしたときに呼び出されるコールバックです。
@param element_name 要素名が文字列で渡されます
@param attributes 属性名とそのデフォルト値の対応が
{ 属性名文字列 => デフォルト値文字列(無ければnil) } という
ハッシュテーブルで渡されます
@param raw_content 文書内の属性リスト宣言の文字列がそのまま渡されます
=== 例
<!ATTLIST a att CDATA #REQUIRED xyz CDATA "foobar">
という属性リスト宣言に対しては
element_... -
REXML
:: StreamListener # cdata(content) -> () (19.0) -
CDATA セクションをパースしたときに呼び出されるコールバックメソッドです。
CDATA セクションをパースしたときに呼び出されるコールバックメソッドです。
@param content CDATAセクションの内容の文字列が渡されます
=== 例
<![CDATA[ xyz ]]>
というCDATAセクションに対しては
content: " xyz "
という引数が渡されます。 -
REXML
:: StreamListener # doctype(name , pub _ sys , long _ name , uri) -> () (19.0) -
文書型宣言(DTD)をパースしたときに呼び出されるコールバックメソッドです。
文書型宣言(DTD)をパースしたときに呼び出されるコールバックメソッドです。
pub_sys, long_name, uri はDTDが内部サブセットのみを
利用している場合には nil が渡されます。
@param name 宣言されているルート要素名が文字列で渡されます。
@param pub_sys "PUBLIC" もしくは "SYSTEM" が渡されます。nilが渡される場合もあります。
@param long_name "SYSTEM" の場合はシステム識別子が、"PUBLIC"の場合は公開識別子が
文字列で渡されます
@param uri "SYSTEM" の場... -
REXML
:: StreamListener # elementdecl(content) -> () (19.0) -
DTDの要素型宣言をパースしたときに呼び出されるコールバックメソッドです。
DTDの要素型宣言をパースしたときに呼び出されるコールバックメソッドです。
@param content 要素型宣言が文字列として渡されます。
=== 例
<!ELEMENT root (a+)>
という属性型宣言に対しては
content: "<!ELEMENT root (a+)"
という引数が渡されます。 -
REXML
:: StreamListener # instruction(name , instruction) -> () (19.0) -
XML処理命令(PI)をパースしたときに呼び出されるコールバックメソッドです。
XML処理命令(PI)をパースしたときに呼び出されるコールバックメソッドです。
@param name ターゲット名が文字列で渡されます
@param instruction 処理命令の内容が文字列で渡されます
=== 例
<?xml-stylesheet type="text/css" href="style.css"?>
というPIに対し
name: "xml-stylesheet"
instruction: " type=\"text/css\" href=\"style.css\""
という引数が渡されます。 -
REXML
:: StreamListener # tag _ end(name) -> () (19.0) -
終了タグをパースしたときに呼び出されるコールバックメソッドです。
終了タグをパースしたときに呼び出されるコールバックメソッドです。
@param name タグ名が文字列で渡されます
=== 例
</tag>
という終了タグに対し、
name: "tag"
という引数が渡されます。 -
REXML
:: StreamListener # tag _ start(name , attrs) -> () (19.0) -
開始タグをパースしたとき に呼び出されるコールバックメソッドです。
開始タグをパースしたとき
に呼び出されるコールバックメソッドです。
@param name タグ名が文字列で渡されます
@param attrs タグの属性が"属性名" => "属性値"という Hash で渡されます
=== 例
<tag attr1="value1" attr2="value2">
という開始タグに対し、
name: "tag"
attrs: {"attr1" => "value1", "attr2" => "value2"}
という引数が渡されます。 -
REXML
:: StreamListener # xmldecl(version , encoding , standalone) -> () (19.0) -
XML宣言をパースしたときに呼び出されるコールバックメソッドです。
XML宣言をパースしたときに呼び出されるコールバックメソッドです。
version, encoding, standalone はXML宣言内で
対応する構成要素が省略されている場合には nil が渡されます。
@param version 宣言されているバージョンが文字列で渡されます。
@param encoding 宣言されているエンコーディングが文字列で渡されます。
@param standalone スタンドアロン文書であるかどうかが "yes" "no" で渡されます
=== 例
<?xml version="1.0" encoding="utf-8"?>
というXML宣言... -
Random (19.0)
-
MT19937に基づく擬似乱数生成器を提供するクラスです。
MT19937に基づく擬似乱数生成器を提供するクラスです。
=== 参考
オリジナル版 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html -
Range (19.0)
-
範囲オブジェクトのクラス。 範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、 日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。
範囲オブジェクトのクラス。
範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、
日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。
==== 作り方
範囲オブジェクトは、Range.new を用いるほか、範囲演算子(`..' または `...')を
用いた d:spec/operator#range で生成できます。
いずれの方法でも始端と終端を与えます。
//emlist[範囲オブジェクトの例][ruby]{
Range.new(1, 5) # 1 以上 5 以下
1..5 # 同上
1...5 ... -
Regexp
# =~(string) -> Integer | nil (19.0) -
文字列 string との正規表現マッチを行います。マッチした場合、 マッチした位置のインデックスを返します(先頭は0)。マッチしなかった 場合、あるいは string が nil の場合には nil を返 します。
文字列 string との正規表現マッチを行います。マッチした場合、
マッチした位置のインデックスを返します(先頭は0)。マッチしなかった
場合、あるいは string が nil の場合には nil を返
します。
//emlist[例][ruby]{
p /foo/ =~ "foo" # => 0
p /foo/ =~ "afoo" # => 1
p /foo/ =~ "bar" # => nil
//}
組み込み変数 $~ もしくは Regexp.last_match にマッチに関する情報 MatchData が設定されます。
文字列のかわりにSymbolをマッチさせることが... -
Regexp
# match(str , pos = 0) -> MatchData | nil (19.0) -
指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ チングを行います。マッチした場合には結果を MatchData オブジェクトで返し ます。 マッチしなかった場合 nil を返します。
指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ
チングを行います。マッチした場合には結果を MatchData オブジェクトで返し
ます。
マッチしなかった場合 nil を返します。
省略可能な第二引数 pos を指定すると、マッチの開始位置を pos から行
うよう制御できます(pos のデフォルト値は 0)。
//emlist[例][ruby]{
p(/(.).(.)/.match("foobar", 3).captures) # => ["b", "r"]
p(/(.).(.)/.match("foobar", -3).captures) #... -
Regexp
# match(str , pos = 0) {|m| . . . } -> object | nil (19.0) -
指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ チングを行います。マッチした場合には結果を MatchData オブジェクトで返し ます。 マッチしなかった場合 nil を返します。
指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ
チングを行います。マッチした場合には結果を MatchData オブジェクトで返し
ます。
マッチしなかった場合 nil を返します。
省略可能な第二引数 pos を指定すると、マッチの開始位置を pos から行
うよう制御できます(pos のデフォルト値は 0)。
//emlist[例][ruby]{
p(/(.).(.)/.match("foobar", 3).captures) # => ["b", "r"]
p(/(.).(.)/.match("foobar", -3).captures) #... -
Rinda
:: Template (19.0) -
タプルのマッチングのためのクラスです。 ユーザがこのクラスを直接使うことはありません。
タプルのマッチングのためのクラスです。
ユーザがこのクラスを直接使うことはありません。
=== 例
require 'rinda/rinda'
template = Rinda::Template.new(['abc', nil, nil])
template.match(['abc', 2, 5]) # => true
template.match(['hoge', 2, 5]) # => false
template = Rinda::Template.new([String, Integer, nil])
template.match(['abc', 2, 5... -
Rinda
:: TupleSpace # notify(event , pattern , sec = nil) -> Rinda :: NotifyTemplateEntry (19.0) -
event で指定した種類のイベントの監視を開始します。
event で指定した種類のイベントの監視を開始します。
イベントを生じさせたタプルがpattern にマッチした場合にのみ報告されます。
イベントが生じた場合、
このメソッドの返り値の Rinda::NotifyTemplateEntry を経由し、
Rinda::NotifyTemplateEntry#each を用いて報告を受け取ります。
sec で監視期間を秒数で指定できます。 nil で無限に監視し続けます。
event として以下の3つを指定できます。
* 'write' : タプルが追加された
* 'take' : タプルが take された
* 'delet... -
Ripper
:: Filter (19.0) -
イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。
イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。
このクラスを継承して、必要なイベントに対応するメソッドを定義して使用し
ます。
=== 使用例
//emlist[][ruby]{
require 'ripper'
require 'cgi'
class Ruby2HTML < Ripper::Filter
def on_default(event, tok, f)
f << CGI.escapeHTML(tok)
end
def on_comment(tok, f)
f << %Q[<span class="comment">... -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (19.0)
-
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or plus minus ast slash hat sq period comma langl rangl eq tilde dollar at under lbrarbra lbra2rbra2 lbra3rbra3 dq colon ac backslash semicolon
Rubyで使われる記号の意味(正規表現の複雑な記号は除く)
ex q num per and or
plus minus ast slash hat sq
period comma langl rangl eq tilde
dollar at under lbrarbra
lbra2rbra2 lbra3rbra3 dq colon ac
backslash semicolon
===[a:ex] !
: !true
not 演算子。d:spec/operator#notを参照。
: 3 != 5
「等しくない」比較演算子。d:spec/operator#notを参... -
Ruby用語集 (19.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
Ruby用語集
A B C D E F G I J M N O R S Y
a ka sa ta na ha ma ya ra wa
=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。
参照:d:spec/literal#percent
: 0 オリジン
: zero-based
番号が 0 から始まること。
例えば、
Array や Vector、Matrix などの要素の番号、
String における文字の位置、
といったものは 0 オリジンである。
: 1 オリジン
: one-based
... -
SDBM
# length -> Integer (19.0) -
データベース中の要素の数を返します。
データベース中の要素の数を返します。
=== 注意
現在の実現では要素数を数えるためにデータベースを全部検索します。 -
SDBM
# size -> Integer (19.0) -
データベース中の要素の数を返します。
データベース中の要素の数を返します。
=== 注意
現在の実現では要素数を数えるためにデータベースを全部検索します。 -
SingleForwardable (19.0)
-
オブジェクトに対し、メソッドの委譲機能を定義するモジュールです。
オブジェクトに対し、メソッドの委譲機能を定義するモジュールです。
=== 使い方
オブジェクトに対して extend して使います。
例:
require 'forwardable'
g = Goo.new
g.extend SingleForwardable
g.def_delegator("@out", :puts)
g.puts ...
また、SingleForwardable はクラスやモジュールに対して以下のようにする事もできます。
require 'forwardable'
class Implementation
def self.... -
Singleton (19.0)
-
Singleton パターンを提供するモジュールです。
Singleton パターンを提供するモジュールです。
Mix-in により singleton パターンを提供します。
Singleton モジュールを include することにより、クラスは
高々ひとつのインスタンスしか持たないことが保証されます。
Singleton を Mix-in したクラスの
クラスメソッド instance はその唯一のインスタンスを返します。
new は private メソッドに移され、外部から呼び出そうとするとエラーになります。
=== サンプルコード
require 'singleton'
class SomeSingletonCl... -
StringIO (19.0)
-
文字列に IO と同じインタフェースを持たせるためのクラスです。
文字列に IO と同じインタフェースを持たせるためのクラスです。
//emlist[例][ruby]{
require "stringio"
sio = StringIO.new("hoge", 'r+')
p sio.read #=> "hoge"
sio.rewind
p sio.read(1) #=> "h"
sio.write("OGE")
sio.rewind
p sio.read #=> "hOGE"
//}
=== 例外
StringIO オブジェクトは大抵の場合 IO オブジェクトと同... -
Symbol (19.0)
-
シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
文字列の代わりに用いることもできますが、必ずしも文字列と同じ振る舞いをするわけではありません。
同じ内容のシンボルはかならず同一のオブジェクトです。
シンボルオブジェクトは以下のようなリテラルで得られます。
:symbol
:'symbol'
%s!symbol! # %記法
生成されたシンボルの一覧は Symbol.all_symbols で得られます。
一番目のリテラルでシンボルを表す場合、`:' の後に
は識別子、メソッド名(`!',`?',`=' などの接尾辞を含む)、変数名
(`$'... -
Thread
. pending _ interrupt?(error = nil) -> bool (19.0) -
非同期割り込みのキューが空かどうかを返します。
非同期割り込みのキューが空かどうかを返します。
Thread.handle_interrupt は非同期割り込みの発生を延期させるのに使
用しますが、本メソッドは任意の非同期割り込みが存在するかどうかを確認す
るのに使用します。
本メソッドが true を返した場合、Thread.handle_interrupt で例外の
発生を延期するブロックを終了すると延期させられていた例外を発生させるこ
とができます。
@param error 対象の例外クラスを指定します。省略した場合は全ての例外を対
象に確認を行います。
例: 延期させられていた例外をただちに発生... -
Thread
:: Backtrace :: Location (19.0) -
Ruby のフレームを表すクラスです。
Ruby のフレームを表すクラスです。
Kernel.#caller_locations から生成されます。
//emlist[例1][ruby]{
# caller_locations.rb
def a(skip)
caller_locations(skip)
end
def b(skip)
a(skip)
end
def c(skip)
b(skip)
end
c(0..2).map do |call|
puts call.to_s
end
//}
例1の実行結果:
caller_locations.rb:2:in `a'
caller_locations... -
Thread
:: ConditionVariable (19.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
スレッドの同期機構の一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが
できません。リ... -
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
... -
ThreadGroup (19.0)
-
スレッドグループを表すクラスです。グループに属する Thread をまとめて 操作することができます。
スレッドグループを表すクラスです。グループに属する Thread をまとめて
操作することができます。
Thread は必ずいずれかひとつのスレッドグループに属します。
生成されたばかりの Thread は、生成した Thread のグループを引き継ぎます。
メインスレッドはデフォルトでは ThreadGroup::Default に属します。
: 例:
生成したすべてのThreadが終了するのを待つ
5.times {
Thread.new { sleep 1; puts "#{Thread.current} finished" }
}
... -
Time (19.0)
-
時刻を表すクラスです。
時刻を表すクラスです。
Time.now は現在の時刻を返します。
File.mtime などが返すファイルのタイムスタンプは Time
オブジェクトです。
Time オブジェクトは時刻を起算時からの経過秒数で保持しています。
起算時は協定世界時(UTC、もしくはその旧称から GMT とも表記されます) の
1970年1月1日午前0時です。なお、うるう秒を勘定するかどうかはシステムに
よります。
Time オブジェクトが格納可能な時刻の範囲は環境によって異なっていましたが、
Ruby 1.9.2 からは OS の制限の影響を受けません。
また、Time オブジェクトは協定世界時と地方時... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (19.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 (19.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー... -
TracePoint (19.0)
-
Kernel.#set_trace_func と同様の機能をオブジェクト指向的な API で 提供するクラスです。
Kernel.#set_trace_func と同様の機能をオブジェクト指向的な API で
提供するクラスです。
//emlist[例:例外に関する情報を収集する][ruby]{
trace = TracePoint.new(:raise) do |tp|
p [tp.lineno, tp.event, tp.raised_exception]
end
# => #<TracePoint:0x007f786a452448>
trace.enable
# => false
0 / 0
# => [5, :raise, #<ZeroDivisionError: divided by 0... -
Tracer
. add _ filter {|event , file , line , id , binding , klass| . . . . } (19.0) -
トレース出力するかどうかを決定するフィルタを追加します。 何もフィルタを与えない場合はすべての行についてトレース情報が出力されます。 与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば トレースは出力されます。
トレース出力するかどうかを決定するフィルタを追加します。
何もフィルタを与えない場合はすべての行についてトレース情報が出力されます。
与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば
トレースは出力されます。
フィルタは複数追加でき、
そのうち一つでも偽を返すとトレースの出力は抑制されます。
@param proc トレース出力するかどうかを決定する手続きオブジェクトを指定します。
通常、true か falseを返す必要があります。
フィルタ手続きは引数として event, file, line, id, binding, klass の... -
Tracer
. add _ filter(proc) (19.0) -
トレース出力するかどうかを決定するフィルタを追加します。 何もフィルタを与えない場合はすべての行についてトレース情報が出力されます。 与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば トレースは出力されます。
トレース出力するかどうかを決定するフィルタを追加します。
何もフィルタを与えない場合はすべての行についてトレース情報が出力されます。
与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば
トレースは出力されます。
フィルタは複数追加でき、
そのうち一つでも偽を返すとトレースの出力は抑制されます。
@param proc トレース出力するかどうかを決定する手続きオブジェクトを指定します。
通常、true か falseを返す必要があります。
フィルタ手続きは引数として event, file, line, id, binding, klass の... -
Vector
# *(m) -> Matrix (19.0) -
自分自身を列ベクトル(行列)に変換して (実際には Matrix.column_vector(self) を適用) から、行列 m を右から乗じた行列 (Matrix クラス) を返します。
自分自身を列ベクトル(行列)に変換して (実際には Matrix.column_vector(self) を適用) から、行列 m を右から乗じた行列 (Matrix クラス) を返します。
@param m 右から乗算を行う行列
@raise ExceptionForMatrix::ErrDimensionMismatch 次元が合わない場合に発生します
=== 注意
引数の行列 m は自分自身を列ベクトルとした場合に乗算が定義できる行列である必要があります。
//emlist[例][ruby]{
require 'matrix'
v = Vector[1, 2]
a = [4,... -
WEBrick
:: HTTPUtils :: FormData (19.0) -
クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも 使われます。
クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも
使われます。
WEBrick::HTTPRequest#query はリクエストのクエリーあるいは
クライアントがフォームへ入力した値を保持した Hash を返しますが、
その Hash のキーと値のうち値は FormData クラスのインスタンスになります。
同じ名前のフィールドが複数ある場合、WEBrick::HTTPUtils::FormData#list や
WEBrick::HTTPUtils::FormData#each_data によりそれぞれの値を取り出すことがで... -
WIN32OLE
_ EVENT (19.0) -
OLEオートメーションサーバからのイベント通知を制御するクラスです。
OLEオートメーションサーバからのイベント通知を制御するクラスです。
OLEオートメーションサーバによっては、サーバの処理の過程でクライアントが
あらかじめ登録したメソッドを呼び出すものがあります。このサーバが登録し
たメソッドを呼び出す動作を「イベント」と呼びます。WIN32OLE_EVENTを利用
すると、ブロックの形式でイベントを受け取るメソッドをサーバへ登録できま
す。
=== サンプルコード
ie = WIN32OLE.new('InternetExplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBr... -
WIN32OLE
_ METHOD (19.0) -
OLEオートメーションサーバが持つメソッドの情報を提供します。
OLEオートメーションサーバが持つメソッドの情報を提供します。
WIN32OLE_METHODは、WIN32OLE#ole_methodsなどの呼び出しによって返さ
れるオブジェクトで、OLEオートメーションサーバのメソッドの情報(メタデー
タ)を保持します。
=== サンプルコード
excel = WIN32OLE.new('Excel.Application')
excel.ole_methods.each do |method|
if method.visible?
puts <<SIGNATURE
#{method.return_type} ... -
WIN32OLE
_ PARAM (19.0) -
OLEオートメーションサーバが持つメソッドのパラメータ情報を提供します。
OLEオートメーションサーバが持つメソッドのパラメータ情報を提供します。
WIN32OLE_PARAMは、WIN32OLE_METHODのパラメータのメタデータを保持し
ます。
=== サンプルコード
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts param1.name # => Filename... -
WIN32OLE
_ TYPE (19.0) -
WIN32OLE_TYPEオブジェクトは、型情報ライブラリ(TypeLib)内に定義された 1つの型情報を保持します。
WIN32OLE_TYPEオブジェクトは、型情報ライブラリ(TypeLib)内に定義された
1つの型情報を保持します。
=== サンプルコード
require 'win32ole'
excel_app_type = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
puts excel_app_type.progid # => "Excel.Application.14"
Ruby-1.9.1以降、WIN32OLE_TYPELIBオブジェクトの
WIN32OLE_TYPELIB... -
WIN32OLE
_ TYPELIB (19.0) -
OLEオートメーションサーバの型情報ライブラリ(TypeLib)を操作するための クラスです。
OLEオートメーションサーバの型情報ライブラリ(TypeLib)を操作するための
クラスです。
OLEオートメーションサーバはクライアントに、クラス、インターフェイス、メ
ソッドなどのメタデータを提供するための機構を持ちます。この情報は拡張子
からTLBと呼ばれるライブラリまたはオートメーションサーバのプログラム内の
リソースとして保持され、クライアントからの要求によって参照可能となりま
す。
WIN32OLE_TYPELIBクラスは、TypeLibを操作して各種情報を参照するためのオブ
ジェクトを生成します。
=== サンプルコード
require 'win32ole'
... -
WIN32OLE
_ VARIABLE (19.0) -
OLEオートメーションの変数情報をRubyで参照するためのクラスです。
OLEオートメーションの変数情報をRubyで参照するためのクラスです。
OLEオートメーションサーバは、定数(WIN32OLE.const_load)、メソッ
ド/プロパティ(WIN32OLE_METHOD)、イベント(WIN32OLE_EVENT)
のほかに変数をクライアントへ提供できます。WIN32OLE_VARIABLEクラスは、サー
バが提供する変数の情報をオブジェクト化します。変数情報にはCOMで決められ
た構造体やユーザ定義型のフィールド情報などがありますが、最も良く利用さ
れるのはenum(列挙型)のメンバ情報です。enumのメンバは定数として利用で
きます。
WIN32OL... -
WIN32OLE
_ VARIANT (19.0) -
OLEオートメーションの標準型のVARIANTオブジェクトをRubyで利用するための クラスです。
OLEオートメーションの標準型のVARIANTオブジェクトをRubyで利用するための
クラスです。
VARIANT型とは、型情報と値のペアから構成されるデータ型で、元はVBの型無し
変数のための構造体です。OLEオートメーションのメソッド呼び出しには汎用型
として引数にはVARIANT型を利用します。
* 型情報は、WIN32OLE_VARIANT#vartypeで取得できます。
* 値は、WIN32OLE_VARIANT#valueで取得できます。
OLEオートメーションのメソッド呼び出し規約では、引数はVARIANT型の配列と
して定義されています。
この規約に対して、WIN3... -
WeakRef (19.0)
-
weak reference を実現するクラスです。
weak reference を実現するクラスです。
WeakRef オブジェクトは与えられたオブジェクトをポイントしますが、
ポイント先のオブジェクトは GC される可能性があります。
アクセスしようとしたときにオブジェクトが GC されていれば
WeakRef::RefError が発生します。
delegate も参照してください。
=== サンプルコード
require 'weakref'
foo = Object.new
ref = WeakRef.new(foo)
ref.some_method_of_foo -
base64 (19.0)
-
Base64 エンコード / デコードを行うメソッドを定義したモジュールを提供するライブラリです。
Base64 エンコード / デコードを行うメソッドを定義したモジュールを提供するライブラリです。
Base64 は、3 オクテット (8bits * 3 = 24bits) のバイナリコードを
ASCII 文字のうちの 65 文字 ([A-Za-z0-9+/] の 64 文字と '=')
だけを使用して 4 オクテット (6bits * 4 = 24bits)
の印字可能文字列に変換するエンコーディング法です。
2045, 4648 で定義されています。
このライブラリは 1.8 系統に添付されていた base64 ライブラリとは違います。
もはやサンプルスクリプトではありません。
=... -
coverage (19.0)
-
カバレッジを測定するためのライブラリです。
カバレッジを測定するためのライブラリです。
=== 基本的な使い方
以下のようにして測定を行います。
(1) require "coverage" で、ライブラリを読み込む。
(2) Coverage.start を実行し、測定を開始する。
(3) require や load で測定対象のファイルを実行する。
(4) Coverage.result や Coverage.peek_result で結果を確認する。
Coverage.result は、ファイル名をキーとし、カバレッジ測定結果を値とするハッシュを返します。
==== 簡単な例
まず測定対象のソースを用... -
delegate (19.0)
-
メソッドの委譲 (delegation) を行うためのライブラリです。
メソッドの委譲 (delegation) を行うためのライブラリです。
Delegator クラスは指定したオブジェクトにメソッドの実行を委譲します。
Delegator クラスを利用する場合はこれを継承して
Delegator#__getobj__ メソッドを再定義して委譲先のオブジェクトを指定します。
SimpleDelegator は Delegator の利用例の一つであり、
コンストラクタに渡されたオブジェクトにメソッドの実行を委譲します。
Kernel#DelegateClass は 引数で渡されたクラスのインスタンスをひとつとり、
そのオブジェクトにインスタンスメソッド... -
drb
/ extservm (19.0) -
DRb::ExtServManager を定義しているライブラリ。
DRb::ExtServManager を定義しているライブラリ。
DRb::ExtServManager は drb で実現されたサービスブローカーです。
個々のサービスは drb/extserv で定義されている
DRb::ExtServ を用いて実装します。
DRb::ExtServManager
はクライアントの要求に応じて個々のサービスを
サブプロセスとして起動し、各サービスを表す DRb::ExtServ オブジェクト
をリモートオブジェクトとしてクライアントに渡します。
このライブラリは簡易的なもので、あまりメンテナンスもされていないので、
本格的な用途にはこのライブラリを参... -
drb
/ gw (19.0) -
drb 通信を中継するゲートウェイ(DRb::GW)と、 中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、 および DRb::DRbObject への拡張が含まれています。
drb 通信を中継するゲートウェイ(DRb::GW)と、
中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、
および DRb::DRbObject への拡張が含まれています。
このライブラリを利用することで直接通信することが不可能であるような
2つのプロセスが中継プロセスを経て drb によりやりとりできるようになります。
drb による通信とは、オブジェクトをプロセス間でやりとりすること、
およびそのメソッドを呼び出すことです。
中継プロセスが保持している DRb::GW オブジェクトに
それ以外のプロセスがオブジェクトを登録したり、登録済みの
オブジェクトを取り出... -
e2mmap (19.0)
-
例外クラスに特定のエラーメッセージ用フォーマットを関連づけるためのライブラリです。
例外クラスに特定のエラーメッセージ用フォーマットを関連づけるためのライブラリです。
=== 使い方
1. クラス定義の中で、Exception2MessageMapper を extend すれば、
def_e2message メソッドや def_exception メソッドが使えます。
これらで例外クラスとメッセージを関連づけることができます。
例:
class Foo
extend Exception2MessageMapper
def_e2message ExistingExceptionClass, "message..."
def_exceptio... -
etc (19.0)
-
/etc に存在するデータベースから情報を得るためのモジュールです。 クラスにインクルードして使うこともできます。
/etc に存在するデータベースから情報を得るためのモジュールです。
クラスにインクルードして使うこともできます。
=== 使い方
//emlist[][ruby]{
require 'etc'
p Etc.getlogin
//} -
fiddle (19.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
dl と同等の機能を持ちますが、
dl は 2.0 以降deprecated となり、2.2.0 で削除されました。このライブラリ
を代わりに使います。
=== 使い方
通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユーザが定義した
モジュールを拡張する形で使います。
require ... -
fiddle
/ import (19.0) -
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
通常は fiddle ライブラリを使わずこの fiddle/import ライブラリを使います。
主な使い方は fiddle も参照してください。
=== 高度な使用法
==== ○○の配列を関数に渡したい
例えば与えられた長さ len の double の配列の和を計算する関数
double sum(double *arry, int len);
があったとします。これを呼び出したい場合は以下のように Array#pack を使用します。
require 'fiddle/import'
m... -
find (19.0)
-
ディレクトリ配下のファイルを探索するためのモジュールです。
ディレクトリ配下のファイルを探索するためのモジュールです。
=== 使い方
require "find"
Find.find('/foo','/bar') {|f| ...}
または
require "find"
include Find
find('/foo','/bar') {|f| ...}
以下は、ruby のアーカイブに含まれるサンプルスクリプト
(https://github.com/ruby/ruby/blob/master/sample/trojan.rb) をこのモジュールで書き換えたものです。
#! /usr/bin/env ... -
forwardable (19.0)
-
クラスやオブジェクトに、メソッドの委譲機能を追加するためのライブラリです。
クラスやオブジェクトに、メソッドの委譲機能を追加するためのライブラリです。
=== 参考
* Rubyist Magazine 0012 号 標準添付ライブラリ紹介【第 6 回】委譲 (https://magazine.rubyist.net/articles/0012/0012-BundledLibraries.html) -
irb
/ completion (19.0) -
irb の completion 機能を提供するライブラリです。
irb の completion 機能を提供するライブラリです。
=== 使い方
$ irb -r irb/completion
とするか, ~/.irbrc 中に
require "irb/completion"
を入れてください.
irb実行中に require "irb/completion" してもよいです.
irb 実行中に [Tab] を押すとコンプレーションします.
トップレベルで [Tab] を押すとすべての構文要素, クラス,
メソッドの候補がでます. 候補が唯一ならば完全に補完します.
irb(main):001:0> in
in... -
kconv (19.0)
-
日本語文字コードの変換を手軽に行うためのライブラリです。
日本語文字コードの変換を手軽に行うためのライブラリです。
kconv を require すると String クラスに変換用のメソッドが定義されます。
Kconv にも同等のメソッドが定義されます。 Kconv には
エンコーディングを表す定数も定義されています。
1.9.1 以降では、Ruby の m17n 機能を用いてエンコーディングの変換を
行うことができます。1.8 との互換性が問題でないのならば、
m17n 機能を使うほうがよいでしょう。MIMEのデコード等面倒な問題を
避けることができます。
=== 使用例
//emlist[][ruby]{
require 'kconv... -
monitor (19.0)
-
スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。
スレッドの同期機構としてのモニター機能を提供するクラスです。
また同じスレッドから何度も lock できる Mutex としての機能も提供します。
モニターとは、一つの Mutex とそれに関連付けられた複数の
条件変数から構成された、スレッドの同期機構です。
Mutex と 条件変数によって同等の機能を実現することは
可能ですが、モニタの利点はライブラリがその関連を保証
していることです。
monitor は以下のような Thread::Mutex としての機能も提供します。
* lock の持ち主がスレッドである Mutex / 何度も lock できる Mutex
* l... -
net
/ pop (19.0) -
このライブラリは、POP3 (Post Office Protocol version 3) を 用いてPOPサーバからメールを受信する機能を提供するライブラリです。
このライブラリは、POP3 (Post Office Protocol version 3) を
用いてPOPサーバからメールを受信する機能を提供するライブラリです。
POP3 の実装は 1939 に基いています。
2449 で定義されているPOP3拡張には対応していません。
=== 使用例
==== メールの受信
以下のコードは、メールを受信してファイル 'inbox/1' 'inbox/2'... に
書きこみ、サーバ上からメールを消します。
'pop.example.com' は適当なPOP3のサーバのホスト名に、
'YourAccount' と 'YourPassword' ... -
open-uri (19.0)
-
http/ftp に簡単にアクセスするためのクラスです。 Kernel.#open を再定義します。
http/ftp に簡単にアクセスするためのクラスです。
Kernel.#open を再定義します。
=== 使用例
http/ftp の URL を、普通のファイルのように開けます。
require 'open-uri'
open("http://www.ruby-lang.org/") {|f|
f.each_line {|line| p line}
}
開いたファイルオブジェクトは StringIO もしくは Tempfile で
すが OpenURI::Meta モジュールで拡張されていて、メタ情報を獲得する
メソッドが使えます。
require 'o... -
openssl (19.0)
-
OpenSSL(https://www.openssl.org/) を Ruby から扱うためのライブラリです。
OpenSSL(https://www.openssl.org/)
を Ruby から扱うためのライブラリです。
このドキュメントでは SSL/TLS の一般的事項については
解説をしません。利用者は、SSL/TLSの各概念、例えば
以下の事項について理解している必要があります。
* 暗号と認証に関する一般的概念
* セキュリティに対する攻撃法
* 公開鍵暗号と秘密鍵暗号
* 署名の役割、署名の方法とその検証
* 公開鍵基盤(PKI, Public Key Infrastructure)
* X.509 証明書
* 暗号と乱数について
SSLのようなセキュリティ技... -
optparse (19.0)
-
コマンドラインのオプションを取り扱うためのライブラリです。
コマンドラインのオプションを取り扱うためのライブラリです。
=== チュートリアル
optparse を使う場合、基本的には
(1) OptionParser オブジェクト opt を生成する。
(2) オプションを取り扱うブロックを opt に登録する。
(3) opt.parse(ARGV) でコマンドラインを実際に parse する。
というような流れになります。
* optiondef
* optionarg
* longoption
* help
* subcmd
* argv
* hyphen_start_file
====[a:optiondef]... -
prime (19.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
//}
==... -
rdoc
/ markup (19.0) -
RDoc 形式に整形されたプレインテキストを変換するためのサブライブラリです。
RDoc 形式に整形されたプレインテキストを変換するためのサブライブラリです。
RDoc::Markup は RDoc 形式のドキュメント、Wiki エントリ、Web上の
FAQ などを想定したプレインテキストから様々なフォーマットへの変換を行う
ツール群の基礎として作られています。RDoc::Markup 自身は何の出力も
行いません。
それらは output_format で後述するクラス群に委ねられています。
=== Markup
基本的には、lib:rdoc#markup と同じです。ただし、rdoc コマンドと
は異なり、Ruby のソースコードのコメント部分ではなく、プレイン...