るりまサーチ (Ruby 2.6.0)

最速Rubyリファレンスマニュアル検索!
365件ヒット [201-300件を表示] (0.049秒)
トップページ > クエリ:===[x] > バージョン:2.6.0[x]

別のキーワード

  1. _builtin ===
  2. date ===
  3. ipaddr ===
  4. pathname ===
  5. bigdecimal ===

モジュール

キーワード

検索結果

<< < 1 2 3 4 > >>

Math.#atanh(x) -> Float (19.0)

x の逆双曲線正接関数(area hyperbolic tangent)の値を返します。

x の逆双曲線正接関数(area hyperbolic tangent)の値を返します。

=== 定義

atanh(x) = log((1+x)/(1-x)) / 2 [-1 < x < 1]

@param x -1 < x < 1 の実数

@return 実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise Math::DomainError x に範囲外の実数を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

@see Math.#tanh

Math.#cosh(x) -> Float (19.0)

x の双曲線余弦関数(hyperbolic cosine)の値を返します。

x の双曲線余弦関数(hyperbolic cosine)の値を返します。

=== 定義

cosh(x) = (exp(x) + exp(-x)) / 2

@param x 実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

@see Math.#acosh

Math.#sinh(x) -> Float (19.0)

x の双曲線正弦関数(hyperbolic sine)の値を返します。

x の双曲線正弦関数(hyperbolic sine)の値を返します。

=== 定義

sinh(x) = (exp(x) - exp(-x)) / 2

@param x 実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

@see Math.#asinh

Math.#tanh(x) -> Float (19.0)

x の双曲線正接関数(hyperbolic tangent)の値を返します。

x の双曲線正接関数(hyperbolic tangent)の値を返します。

=== 定義

tanh(x) = sinh(x) / cosh(x)

@param x 実数

@return [-1, 1] の範囲の実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

@see Math.#atanh

Matrix.columns(columns) -> Matrix (19.0)

引数 columns を列ベクトルの集合とする行列を生成します。

引数 columns を列ベクトルの集合とする行列を生成します。

@param columns 配列の配列を渡します。

=== 注意

Matrix.rows との違いは引数として渡す配列の配列を列ベクトルの配列とみなして行列を生成します。

//emlist[例][ruby]{
require 'matrix'

a1 = [1, 2, 3]
a2 = [4, 5, 6]
a3 = [-1, -2, -3]

# 配列を行ベクトルとして生成
m = Matrix.rows([a1, a2, a3], true)
p m # => Matrix[[1, 2, 3], [4, 5, 6],...

絞り込み条件を変える

Matrix.diagonal(*values) -> Matrix (19.0)

対角要素がvaluesで、非対角要素が全て0であるような 正方行列を生成します。

対角要素がvaluesで、非対角要素が全て0であるような
正方行列を生成します。

@param values 行列の対角要素

=== 注意

valuesに一次元Arrayを1個指定すると、そのArrayを唯一の要素とした1×1の行列が生成されます。

//emlist[例][ruby]{
require 'matrix'

m = Matrix.diagonal(1, 2, 3)
p m # => Matrix[[1, 0, 0], [0, 2, 0], [0, 0, 3]]
a = [1,2,3]
m = Matrix.diagonal(a)
p m # => Matrix[[[1,...

Method (19.0)

Object#method によりオブジェクト化され たメソッドオブジェクトのクラスです。

Object#method によりオブジェクト化され
たメソッドオブジェクトのクラスです。

メソッドの実体(名前でなく)とレシーバの組を封入します。
Proc オブジェクトと違ってコンテキストを保持しません。

=== Proc との差

Method は取り出しの対象であるメソッドが
なければ作れませんが、Proc は準備なしに作れます。その点から
Proc は使い捨てに向き、Method は何度も繰り返し生成する
場合に向くと言えます。また内包するコードの大きさという点では
Proc は小規模、Method は大規模コードに向くと言えます。


既存のメソッドを Method オブジェク...

Module#module_function(*name) -> self (19.0)

メソッドをモジュール関数にします。

メソッドをモジュール関数にします。

引数が与えられた時には、
引数で指定されたメソッドをモジュール関数にします。
引数なしのときは今後このモジュール定義文内で
新しく定義されるメソッドをすべてモジュール関数にします。

モジュール関数とは、プライベートメソッドであると同時に
モジュールの特異メソッドでもあるようなメソッドです。
例えば Math モジュールのメソッドはすべてモジュール関数です。

self を返します。

@param name String または Symbol を 0 個以上指定します。

=== 注意
module_function はメソッドに「モジュール関数」とい...

Module#undef_method(*name) -> self (19.0)

このモジュールのインスタンスメソッド name を未定義にします。

このモジュールのインスタンスメソッド name を未定義にします。

@param name 0 個以上の String か Symbol を指定します。

@raise NameError 指定したインスタンスメソッドが定義されていない場合に発生します。

=== 「未定義にする」とは
このモジュールのインスタンスに対して name という
メソッドを呼び出すことを禁止するということです。
スーパークラスの定義が継承されるかどうかという点において、
「未定義」は「メソッドの削除」とは区別されます。
以下のコード例を参照してください。

//emlist[例][ruby]{
class A
...

Monitor (19.0)

スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。

スレッドの同期機構としてのモニター機能を提供するクラスです。
また同じスレッドから何度も lock できる Mutex としての機能も提供します。

MonitorMixin を include し、いくつかの別名を定義したクラスです。

=== 例

//emlist[消費者、生産者問題の例][ruby]{
require 'monitor'

buf = []
mon = Monitor.new
empty_cond = mon.new_cond

# consumer
Thread.start do
loop do
mon.synchronize do
empty...

絞り込み条件を変える

Mutex_m (19.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)...

NKF.#nkf(opt, str) -> String (19.0)

文字列 str の文字コードを変換し、変換結果の文字列を返します。

文字列 str の文字コードを変換し、変換結果の文字列を返します。

opt には、nkf と同じコマンドラインオプションを指定します。
オプション文字列は NKF のオプション文字列の項を
見てください。
オプションを複数指定する場合は、NKF.nkf('-Se', str) や
NKF.nkf('-S -e', str) などとします。optは、必ず '-'
で始めなければいけないことに注意してください。

@param opt オプション文字列です。
@param str 変換対象の文字列です。

=== 注意

このメソッドは(nkf コマンドがそうであるように)、MIME Base...

Net::FTP::MLSxEntry (19.0)

Net::FTP#mlsd、Net::FTP#mlst の結果を保持する クラスです。

Net::FTP#mlsd、Net::FTP#mlst の結果を保持する
クラスです。

=== Notes

このクラスのオブジェクトが保持している permission の情報
(Net::FTP::MLSxEntry#deletable? など)は
対応するコマンド(Net::FTP#delete など)が
常にうまくいくことを保証するものではありません。
例えばディスクの空き容量が不足しているというような理由で
うまくいかない場合があります。

Net::HTTP.get_print(host, path, port = 80) -> () (19.0)

指定した対象から HTTP でエンティティボディを取得し、 $stdout に出力します。

指定した対象から HTTP でエンティティボディを取得し、
$stdout に出力します。

対象の指定方法は URI で指定するか、
(host, path, port) で指定するかのいずれかです。

@param uri データの取得対象を URI で指定します。
@param host 接続先のホストを文字列で指定します。
@param path データの存在するパスを文字列で指定します。
@param port 接続するポートを整数で指定します。
@see Net::HTTP.get

=== 例

//emlist[][ruby]{
require 'net/http'
requi...

Net::HTTP.get_print(uri) -> () (19.0)

指定した対象から HTTP でエンティティボディを取得し、 $stdout に出力します。

指定した対象から HTTP でエンティティボディを取得し、
$stdout に出力します。

対象の指定方法は URI で指定するか、
(host, path, port) で指定するかのいずれかです。

@param uri データの取得対象を URI で指定します。
@param host 接続先のホストを文字列で指定します。
@param path データの存在するパスを文字列で指定します。
@param port 接続するポートを整数で指定します。
@see Net::HTTP.get

=== 例

//emlist[][ruby]{
require 'net/http'
requi...

絞り込み条件を変える

Net::HTTPRequest (19.0)

HTTP リクエストを抽象化するクラスです。

HTTP リクエストを抽象化するクラスです。

Net::HTTPRequest は抽象クラスなので実際にはサブクラスの

* Net::HTTP::Get
* Net::HTTP::Head
* Net::HTTP::Post
* Net::HTTP::Put
* Net::HTTP::Copy
* Net::HTTP::Delete
* Net::HTTP::Lock
* Net::HTTP::Mkcol
* Net::HTTP::Move
* Net::HTTP::Options
* Net::HTTP::Propfind
* Net::H...

Object#clone(freeze: true) -> object (19.0)

オブジェクトの複製を作成して返します。

オブジェクトの複製を作成して返します。

dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。

clone や dup は浅い(shallow)コピーであることに注意してください。後述。

TrueClass, FalseClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。

@param freeze false を指定すると freeze されていないコピーを返します。
@r...

Object#dup -> object (19.0)

オブジェクトの複製を作成して返します。

オブジェクトの複製を作成して返します。

dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。

clone や dup は浅い(shallow)コピーであることに注意してください。後述。

TrueClass, FalseClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。

@param freeze false を指定すると freeze されていないコピーを返します。
@r...

Object.yaml_tag(tag) -> () (19.0)

クラスと tag の間を関連付けます。

クラスと tag の間を関連付けます。

これによって tag 付けされた YAML ドキュメントを Ruby のオブジェクトに
変換したりその逆をしたりすることができます。

@param tag 対象のクラスに関連付けるタグの文字列

=== Example
require 'psych'

class Foo
def initialize(x)
@x = x
end

attr_reader :x
end

# Dumps Ruby object normally
p Psych.dump(Foo.new(3))
...

Object::STDERR -> IO (19.0)

標準エラー出力。$stderr のデフォルト値。 $stderr も参照してください。

標準エラー出力。$stderr のデフォルト値。 $stderr も参照してください。

STDERR は、 ruby プロセスが起動された時点での標準エラー出力を表します。
起動時点では $stderr も同じ値に初期化されています。

$stderr に他の出力オブジェクトを代入することで簡易なリダイレクトを実現できます。
そして、 $stderr に STDERR を代入すればこのリダイレクトを復元できるわけです。

=== 注意
STDERR は ruby 自体が起動された時点での標準エラー出力です。
「システムにおける標準のエラー出力ストリーム」とは異なります。

多くのシステムでは...

絞り込み条件を変える

Object::STDIN -> IO (19.0)

標準入力。$stdin のデフォルト値。 $stdin も参照してください。

標準入力。$stdin のデフォルト値。 $stdin も参照してください。

STDIN は、 ruby プロセスが起動された時点での標準入力を表します。
起動時点では $stdin も同じ値に初期化されています。

$stdin に他の入力オブジェクトを代入することで簡易なリダイレクトを実現できます。
そして、 $stdin に STDIN を代入すればこのリダイレクトを復元できるわけです。

=== 注意
STDIN は ruby 自体が起動された時点での標準入力です。
「システムにおける標準の入力ストリーム」とは異なります。

多くのシステムでは標準の入力ストリームは端末です。
rub...

Object::STDOUT -> IO (19.0)

標準出力。$stdout のデフォルト値。 $stdout も参照してください。

標準出力。$stdout のデフォルト値。 $stdout も参照してください。

STDOUT は、 ruby プロセスが起動された時点での標準出力を表します。
起動時点では $stdout も同じ値に初期化されています。

$stdout に他の出力オブジェクトを代入することで簡易なリダイレクトを実現できます。
そして、 $stdout に STDOUT を代入すればこのリダイレクトを復元できるわけです。

=== 注意
STDOUT は ruby 自体が起動された時点での標準出力です。
「システムにおける標準の出力ストリーム」とは異なります。

多くのシステムでは標準の出力ストリームは端...

ObjectSpace.#define_finalizer(obj) {|id| ...} -> Array (19.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。

ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。

@param obj ファイナライザを登録したいオブジェクトを指定します。

@param proc ファイナライザ...

ObjectSpace.#define_finalizer(obj, proc) -> Array (19.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。

ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。

@param obj ファイナライザを登録したいオブジェクトを指定します。

@param proc ファイナライザ...

Observable (19.0)

Observer パターンを提供するモジュールです。

Observer パターンを提供するモジュールです。

Mix-in により Observer パターンを提供します。

Observable モジュールを include したクラスは
Observable#changed メソッドにより更新フラグを立て、
Observable#notify_observers が呼び出されると
更新フラグが立っている場合はオブザーバに通知します
(オブザーバの update メソッドを呼び出す)。
Observable#notify_observers の引数は
そのままオブザーバの update メソッドに渡されます。

=== サンプルコード
re...

絞り込み条件を変える

Open3 (19.0)

プログラムを実行し、そのプロセスの標準入力・標準出力・ 標準エラー出力にパイプをつなぎます。

プログラムを実行し、そのプロセスの標準入力・標準出力・
標準エラー出力にパイプをつなぎます。

=== 使用例

nroff を実行してその標準入力に man ページを送り込み処理させる。
nroff プロセスの標準出力から処理結果を受け取る。

require "open3"

stdin, stdout, stderr = *Open3.popen3('nroff -man')
# こちらから書く
Thread.fork {
File.foreach('/usr/man/man1/ruby.1') do |line|
stdin.print line
...

OpenSSL::Buffering (19.0)

OpenSSL::SSL::SSLSocket にバッファリング付きIO機能を提供する モジュールです。

OpenSSL::SSL::SSLSocket にバッファリング付きIO機能を提供する
モジュールです。


IO クラスと同様のメソッドを提供しています。

内部的には sysread, syswrite, sysread_nonblock, syswrite_nonblock,
sysclose といった OpenSSL::SSL::SSLSocket が提供するメソッドを
利用し、 OpenSSL::SSL::SSLSocket がラップしているソケット
をバッファ経由でデータを暗号化してやりとりを行います。

=== IO との違い
このクラスは IO クラスと同様のメソッドを提供し...

OpenSSL::OCSP (19.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...

OpenSSL::PKCS7 (19.0)

PKCS #7 クラス

PKCS #7 クラス

PKCS #7 は暗号技術とともに用いられるデータのフォーマットの仕様です。
データやそれに対する署名、証明した日時など任意の属性を含むことができ、
S/MIME などに使用されています。

2315 を参照してください。


=== S/MIME メッセージの種類
S/MIME には以下の種類のメッセージがあります
* enveloped-only
* signed-only
* signedData フォーマット
* multipart/signed フォーマット
* Certificate-only

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

soc = TCPSocket.new('www.example.com', 443)
ssl = SSL::SSLSocket.new(soc)
ssl.connect
ssl.post_connection_check('www.example.com')
raise "verification er...

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" まで」といった文字列の範囲を表すこともできます。

...以上 5 未満
//}

この例で分かるように、範囲オブジェクトは終端を含む範囲も含まない範囲も表せます。

Ruby 2.6.0 からは、終端に nil を与えることで「終端を持たない範囲オブジェクト」
を作ることができるようになりま...

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,...

絞り込み条件を変える

<< < 1 2 3 4 > >>