別のキーワード
ライブラリ
- ビルトイン (19)
- csv (2)
- drb (1)
- erb (1)
- etc (1)
-
fiddle
/ import (1) - ipaddr (1)
- matrix (1)
-
net
/ http (1) -
net
/ imap (1) - openssl (8)
- prettyprint (1)
- psych (3)
-
rdoc
/ code _ object (1) - resolv (1)
-
rexml
/ document (2) -
rubygems
/ package / tar _ header (1) - socket (1)
- tempfile (1)
-
webrick
/ httpproxy (1) -
webrick
/ httputils (1) - win32ole (1)
- zlib (1)
キーワード
- BasicObject (1)
- CRL (1)
- CStruct (1)
- Certificate (1)
- Cipher (1)
- Class (1)
- CodeObject (1)
- Cookie (1)
- DNS (1)
- DRbServer (1)
- DocType (1)
- Document (1)
- ERB (1)
- EXXX (1)
- Element (1)
- Error (1)
- Extension (1)
- Fiber (1)
- FormData (1)
- HTTPProxyServer (1)
- HTTPRequest (1)
- Hash (1)
- IO (1)
- IPAddr (1)
- InstructionSequence (1)
- Lazy (1)
- Location (1)
- Mapping (1)
- MatchData (1)
- Matrix (1)
- Numeric (1)
- ObjectId (1)
- PKCS7 (1)
- PKey (1)
- Passwd (1)
- PrettyPrint (1)
- Rational (1)
- ResponseError (1)
- Row (1)
- ScriptError (1)
- Sequence (1)
- Session (1)
- SignalException (1)
- Socket (1)
- Symbol (1)
- Table (1)
- TarHeader (1)
- Tempfile (1)
- Thread (1)
- ThreadError (1)
- TracePoint (1)
-
WIN32OLE
_ VARIANT (1) - fatal (1)
検索結果
-
Errno
:: EXXX (2668.0) -
システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。 Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。
システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。
Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。
実際には「EXXX」というクラスが定義されているわけではありません。「XXX」の部分は下記に列挙したような各種のエラー名が入ります。
例えば、File.open の内部でシステムコール open(2) がエラーコード ENOENT を返すと、Rubyは例外 Errno::ENOENT を発生させます。
Ruby は処理系がコンパイルされるときに、デフォルトで下記リストのような Errno::EXXX クラスを定義しようとします。
動作... -
ERB (886.0)
-
eRuby スクリプトを処理するクラス。
eRuby スクリプトを処理するクラス。
従来 ERbLight と呼ばれていたもので、
標準出力への印字が文字列の挿入とならない点が eruby と異なります。
* https://magazine.rubyist.net/articles/0017/0017-BundledLibraries.html
=== 使い方
ERB クラスを使うためには require 'erb' する必要があります。
例:
require 'erb'
ERB.new($<.read).run
=== trim_mode
trim_mode は整形の挙動を変更するオプションです。次の... -
IO (274.0)
-
基本的な入出力機能のためのクラスです。
基本的な入出力機能のためのクラスです。
File::Constants は、File から IO へ移動しました。
===[a:m17n] 多言語化と IO のエンコーディング
IO オブジェクトはエンコーディングを持ちます。
エンコーディングの影響を受けるメソッドと受けないメソッドがあります。
影響を受けるメソッドでは、IO のエンコーディングに従い読み込まれた文字列のエンコーディングが決定されます。
また IO のエンコーディングを適切に設定することにより、読み込み時・書き込み時に文字列のエンコーディングを
変換させることもできます。
==== エンコーディングの影響を受けるメ... -
Net
:: HTTPRequest (274.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... -
RDoc
:: CodeObject (274.0) -
RDoc のコードツリーを表現するクラスの基本クラスです。
...ブクラスのツリーです。
//emlist{
* RDoc::Context
* RDoc::TopLevel
* RDoc::ClassModule
* RDoc::AnonClass
* RDoc::NormalClass
* RDoc::NormalModule
* RDoc::SingleClass
* RDoc::AnyMethod
* RDoc::GhostMethod
* RDoc::MetaMethod
* RDoc::Alias
* RDoc::Attr
*... -
Etc
:: Passwd (238.0) -
Etc.#getpwent で得られる構造体。
...ステムには反映されません。
全てのシステムで提供されているメンバ。
* name
* passwd
* uid
* gid
* gecos
* dir
* shell
以降のメンバはシステムによっては提供されません。
* change
* quota
* age
* class
* comment
* expire... -
Enumerator
:: Lazy (184.0) -
map や select などのメソッドの遅延評価版を提供するためのクラス。
map や select などのメソッドの遅延評価版を提供するためのクラス。
動作は通常の Enumerator と同じですが、以下のメソッドが遅延評価を行う
(つまり、配列ではなく Enumerator を返す) ように再定義されています。
* map/collect
* flat_map/collect_concat
* select/find_all
* reject
* grep
* take, take_while
* drop, drop_while
* slice_before, slice_after, slice_when
* chunk
* zip ... -
Symbol (166.0)
-
シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
...複製しても同じ要素へのポインタが使われるだけなので
メモリ使用量は普通の文字列と比べて少ないです。
2.2.0 以降においては、テーブルに記録された情報は
Ruby によって GC されます。すなわち、ある使わなくなった
シ... -
ThreadError (166.0)
-
Thread 関連のエラーが起きたときに発生します。
Thread 関連のエラーが起きたときに発生します。
* カレントスレッドを Thread#join しようとしたとき
* Thread#join でデッドロックしそうになったとき
* 終了したスレッドを Thread#wakeup あるいは Thread#run しようとしたとき
* スレッドが一つしかないのに Thread.stop しようとしたとき
* Kernel.#throw がスレッド内で Kernel.#catch されないとき
* スレッドから return しようとしたとき
* イテレータを与えずにスレッドを生成しようとしたとき
* カレン... -
OpenSSL
:: Cipher (148.0) -
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
基本的にこのクラスを直接使ってデータを暗号化することは
避けてください。通常はより高水準なインターフェースが利用可能な
はずです。必要なのは暗号アルゴリズムを指定するため
OpenSSL::Cipher.new で暗号オブジェクトを生成することだけでしょう。
もし、このクラスを直接利用して暗号化する場合は、暗号の鍵や
IV(Initialization Vector)の取り扱いについて正しく理解してからに
してください。
以下の手順で利用します。
* OpenSSL::Cipher.new や OpenSSL::... -
Class (130.0)
-
クラスのクラスです。
...正確に言えば、個々のクラスはそれぞれメタクラスと呼
ばれる名前のないクラスをクラスとして持っていて、Class はそのメタ
クラスのクラスです。この関係は少し複雑ですが、Ruby を利用するにあたっ
ては特に重要ではあ......すが、それ以外のほとんどの機能は Module から継
承されています。Module のメソッドのうち
* Module#module_function
* Module#extend_object
* Module#append_features
* Module#prepend_features
* Module#refine
は Class では未定義にされています。... -
Numeric (130.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
...d
//}
また、任意桁の切上げ、切捨て、四捨五入を行うメソッドは以下のように
定義できます。
//emlist[][ruby]{
class Numeric
def roundup(d=0)
x = 10**d
if self > 0
self.quo(x).ceil * x
else
self.quo(x).floor * x
end
end
def roun... -
SignalException (130.0)
-
捕捉していないシグナルを受け取ったときに発生します。
捕捉していないシグナルを受け取ったときに発生します。
実際に発生したシグナル名は、
Exception#message から
「"SIG" + シグナル名」という形で得られます。
デフォルトの状態では、
以下のシグナルが SignalException を発生させます。
* SIGALRM
* SIGHUP
* SIGINT (※ただし以下参照)
* SIGQUIT
* SIGUSR1
* SIGUSR2
* SIGTERM
なお、SIGINT シグナルを受けた場合は SignalException の下位クラスである
Interrupt が発生します。 -
Zlib
:: Error (130.0) -
ライブラリ zlib の発行する全ての例外のスーパークラスです。
ライブラリ zlib の発行する全ての例外のスーパークラスです。
以下の例外が Zlib::Error のサブクラスとして定義されています。
それぞれ zlib ライブラリ関数の返すエラーと対応しています。
* Zlib::StreamEnd
* Zlib::NeedDict
* Zlib::DataError
* Zlib::StreamError
* Zlib::MemError
* Zlib::BufError
* Zlib::VersionError -
PrettyPrint (112.0)
-
pretty printing アルゴリズムのためのクラスです。 改行の位置を探し、きれいなインデントを施します。
pretty printing アルゴリズムのためのクラスです。
改行の位置を探し、きれいなインデントを施します。
デフォルトでは、このクラスは文字列を扱います。
また、文字1バイトが出力幅の中で1カラムを占めると仮定しています。
しかし、以下のメソッドに対して適切な引数を与えることで、
そうでない場合にも利用できます。
* PrettyPrint.new: 出力バッファ、空白の生成をするブロックや改行オブジェクトを設定できます。
* PrettyPrint#text: 幅を設定できます。
* PrettyPrint#breakable
ですので、このクラスは以下のようなことにも応用が... -
Tempfile (112.0)
-
テンポラリファイルを操作するためのクラスです。
テンポラリファイルを操作するためのクラスです。
* テンポラリファイルを作成します。
ファイルは "w+" モードで "basename.pid.n" という名前になります。
* Tempfile オブジェクトはFileクラスへのDelegatorとして定義されており、Fileクラスのオブジェクトと同じように使うことができます。
* Tempfile#close(true) により、作成したテンポラリファイルは削除されます。
* スクリプトが終了するときにも削除されます。
* Tempfile#openにより、テンポラリファイルを再オープンすることができます。
* テンポラ... -
OpenSSL
:: PKCS7 (94.0) -
PKCS #7 クラス
PKCS #7 クラス
PKCS #7 は暗号技術とともに用いられるデータのフォーマットの仕様です。
データやそれに対する署名、証明した日時など任意の属性を含むことができ、
S/MIME などに使用されています。
2315 を参照してください。
=== S/MIME メッセージの種類
S/MIME には以下の種類のメッセージがあります
* enveloped-only
* signed-only
* signedData フォーマット
* multipart/signed フォーマット
* Certificate-only -
OpenSSL
:: SSL :: Session (94.0) -
SSL/TLS セッションを表すクラスです。
SSL/TLS セッションを表すクラスです。
セッションとは、SSL/TLS のハンドシェイクで確立される
仮想的なオブジェクトであり、安全な通信路を
実現するために必要な、クライアント側とサーバ側で共有される
情報の集合体です。SSL/TLS ハンドシェイクで必要な計算(特に署名の検証)
はかなり高コストであり、以前にそのような計算を済ませたという事実を
利用してハンドシェイクの高速化を図ることができます。
これがセッションの再利用です。
より具体的には、以下のような手順で再利用が行われます。
* まずは普通にクライアントとサーバでハンドシェイクを行う
* クライアントとサーバの... -
REXML
:: DocType (94.0) -
XML の DTD(文書型定義、Document Type Definition)を表すクラスです。
XML の DTD(文書型定義、Document Type Definition)を表すクラスです。
rexml では DTD は積極的にはサポートされていません。
デフォルトの実体定義(gt, lt, amp, quot apos)の解決のため DTD は
ある程度はサポートされますが、スキーマの定義や検証をしたい場合は
XML schema や RELAX NG などを使ってください。
子ノード(REXML::Parent#children)として、
* REXML::ElementDecl
* REXML::ExternalEntity
* REXML::Entity
... -
OpenSSL
:: PKey :: PKey (76.0) -
公開鍵暗号のための抽象クラスです。
公開鍵暗号のための抽象クラスです。
以下のサブクラスを持ちます。
* OpenSSL::PKey::RSA
* OpenSSL::PKey::DSA
* OpenSSL::PKey::DH
* OpenSSL::PKey::EC
例:
require "openssl"
# 署名用の鍵を新規作成
dsa512 = OpenSSL::PKey::DSA.new(512)
data = 'hoge'
# 署名
sign = dsa512.sign("dss1", data)
# 署名の検証
p dsa512.verify(dss1, sign,... -
Psych
:: Nodes :: Mapping (76.0) -
YAML の mapping http://yaml.org/spec/1.1/#mapping を表すクラスです。
YAML の mapping http://yaml.org/spec/1.1/#mapping を表すクラスです。
Psych::Nodes::Mapping は 0 個以上の子ノードを持つことができます。
子ノードの個数は偶数でなければなりません。
子ノードは以下のいずれかクラスのインスタンスでなければなりません。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nodes::Scalar
* Psych::Nodes::Alias
子ノードは mapping のキーと値が交互に並んでいます。
as... -
Psych
:: Nodes :: Sequence (76.0) -
YAML sequence http://yaml.org/spec/1.1/#sequence/syntax を表すクラスです。
YAML sequence http://yaml.org/spec/1.1/#sequence/syntax を表すクラスです。
YAML sequence とは基本的にはリスト、配列です。以下のような例が考えられます。
%YAML 1.1
---
- I am
- a Sequence
YAML sequence には anchor を付加することができます。
この例では Psych::Nodes::Sequence#anchor は "A" を返します。
%YAML 1.1
---
&A [
"This sequence",
"has an... -
Resolv
:: DNS (76.0) -
このクラスは DNS を利用した名前解決をするリゾルバを 表します。
このクラスは DNS を利用した名前解決をするリゾルバを
表します。
このクラスは実際には下位のクラスに処理を依頼します。
DNSについては以下を参照してください。
* STD0013
* 1035
* ftp://ftp.isi.edu/in-notes/iana/assignments/dns-parameters
* etc. -
Socket (76.0)
-
汎用ソケットクラス。
汎用ソケットクラス。
システムコールレベルから高水準の機能までを提供します。
ソケットオブジェクトを生成する汎用的な方法として
Socket.new がありますが、以下のようなより便利な
メソッドがあります。
* TCP のクライアントソケット Socket.tcp TCPSocket.open
* TCP のサーバソケット Socket.tcp_server_loop,
Socket.tcp_server_sockets, TCPServer.open
* UNIX socket のクライアントソケット Socket.unix UNIXSocket.open
* ... -
CSV
:: Row (58.0) -
CSV::Row は配列やハッシュに似ています。
CSV::Row は配列やハッシュに似ています。
配列のようにフィールドの順序を保持していて、複製する事もできます。
また、ハッシュのように名前でフィールドにアクセスする事もできます。
ヘッダ行の処理が有効である場合は CSV から返される全ての行はこのクラスのインスタンスです。
以下のメソッドを Array に委譲します。
* empty?()
* length()
* size() -
CSV
:: Table (58.0) -
CSV::Table は CSV ドキュメントを表す二次元のデータ構造です。 行単位や列単位の操作を行うことが出来ます。また必要であれば CSV に 戻すこともできます。
CSV::Table は CSV ドキュメントを表す二次元のデータ構造です。
行単位や列単位の操作を行うことが出来ます。また必要であれば CSV に
戻すこともできます。
ヘッダ行の処理が有効である場合、CSV から返されるテーブルは全てこのクラスから
構築されます。
以下のメソッドを Array に委譲します。
* Array#empty?
* Array#length
* Array#size
=== アクセスモード
以下の三種類のモードがあります。
: :col_or_row
デフォルトはこのモードです。このマニュアル内ではミックスモードと呼んでいます。
... -
MatchData (58.0)
-
正規表現のマッチに関する情報を扱うためのクラス。
正規表現のマッチに関する情報を扱うためのクラス。
このクラスのインスタンスは、
* Regexp.last_match
* Regexp#match, String#match
* $~
などにより得られます。 -
Net
:: IMAP :: ResponseError (58.0) -
サーバからのレスポンスがエラーを示している場合に発生する例外 のクラスです。
サーバからのレスポンスがエラーを示している場合に発生する例外
のクラスです。
実際にはこれを継承した
* Net::IMAP::NoResponseError
* Net::IMAP::BadResponseError
* Net::IMAP::ByeResponseError
これらのクラスの例外が発生します。 -
Psych
:: Nodes :: Document (58.0) -
YAML ドキュメントを表すクラスです。
YAML ドキュメントを表すクラスです。
このノードは Psych::Nodes::Stream の子ノードでなければ
なりません。このノードは1個の子ノードを持たなければなりません。
またこの子ノードは以下のいずれかである必要があります。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nodes::Scalar
この唯一の子ノードは「ルート」とも呼ばれ、Psych::Nodes::Document#root で
アクセスすることができます。 -
REXML
:: Element (58.0) -
XML の要素(エレメント、element)を表すクラス。
XML の要素(エレメント、element)を表すクラス。
要素は
* 子要素(children)
* 属性(attributes)
* 名前(name)
を持つものとして特徴付けられます。
また、要素はある別の要素の子となることもできます。 -
ScriptError (58.0)
-
スクリプトのエラーを表す例外クラスです。
スクリプトのエラーを表す例外クラスです。
以下の例外クラスのスーパークラスです。
* LoadError
* NotImplementedError
* SyntaxError
これらの例外が発生したときは Ruby スクリプト自体に
バグがある可能性が高いと考えられます。 -
Thread (58.0)
-
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。
Thread を使うことで並行プログラミングが可能になります。
=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡... -
TracePoint (58.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... -
fatal (58.0)
-
インタプリタ内部で致命的なエラーが起こったときに発生します。
インタプリタ内部で致命的なエラーが起こったときに発生します。
致命的なエラーとは、例えば以下のような状態です。
* スレッドのデッドロックが発生した
* -x オプションや -C オプションで指定されたディレクトリに移動できなかった
* -i オプション付きで起動されたが、
パーミッションなどの関係でファイルを変更できなかった
通常の手段では、
Ruby プログラムからは fatal クラスにはアクセスできません。 -
BasicObject (40.0)
-
特殊な用途のために意図的にほとんど何も定義されていないクラスです。 Objectクラスの親にあたります。Ruby 1.9 以降で導入されました。
...クラスから派生すべきです。
真に必要な場合にだけ BasicObject から派生してください。
=== 例
//emlist[例][ruby]{
class Proxy < BasicObject
def initialize(target)
@target = target
end
def method_missing(message, *args)
@target.__send__(message, *args... -
DRb
:: DRbServer (40.0) -
dRuby サーバクラス。
dRuby サーバクラス。
dRuby サーバは
* リモートからのメソッド呼び出しを受け取る
* ローカルオブジェクトをリモートプロセスにリモートオブジェクトとして
渡す
などを実現するために必要です。そのため、このような操作をする前に
サーバを起動する必要があります。
他のプロセスのリモートメソッドをマーシャリング可能な
引数のみで呼び出すならばサーバは必要ありません。
複数のサーバを起動することもできますが、通常は
DRb.#start_service でサーバを起動します。 -
Fiber (40.0)
-
ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。 他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。
ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。
他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。
Thread と違いユーザレベルスレッドとして実装されています。
Thread クラスが表すスレッドと違い、明示的に指定しない限り
ファイバーのコンテキストは切り替わりません。
またファイバーは親子関係を持ちます。Fiber#resume を呼んだファイバーが親になり
呼ばれたファイバーが子になります。親子関係を壊すような遷移(例えば
自分の親の親のファイバーへ切り替えるような処理)はできません。
例外 FiberErr... -
Hash (40.0)
-
ハッシュテーブル(連想配列とも呼ぶ)のクラスです。ハッシュは任意の種類のオブ ジェクト(キー)から任意の種類のオブジェクト(値)への関連づけを行うことができます。
ハッシュテーブル(連想配列とも呼ぶ)のクラスです。ハッシュは任意の種類のオブ
ジェクト(キー)から任意の種類のオブジェクト(値)への関連づけを行うことができます。
ハッシュ生成は多くの場合以下のようなリテラル (d:spec/literal#hash) で行われます。
{a => b, ... } # aはキー、bは値となる
{s: b , ... } # { :s => b, ... } と同じ。キーがシンボルの場合の省略した書き方
{"a+": b , ... } # { :"a+" => b, ... } と同じ。上の表現に空白や記号を含めたい場合
キーには任... -
WEBrick
:: Cookie (40.0) -
Cookie を表すクラスです。2109 に準拠しています。 RFC2109 は 2965 により破棄されましたが、WEBrick::Cookie クラスは RFC2965 に対応していません。
Cookie を表すクラスです。2109 に準拠しています。
RFC2109 は 2965 により破棄されましたが、WEBrick::Cookie クラスは RFC2965 に対応していません。
* http://www.studyinghttp.net/translations#RFC2965
* http://www.studyinghttp.net/cookies -
WEBrick
:: HTTPUtils :: FormData (40.0) -
クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも 使われます。
クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも
使われます。
WEBrick::HTTPRequest#query はリクエストのクエリーあるいは
クライアントがフォームへ入力した値を保持した Hash を返しますが、
その Hash のキーと値のうち値は FormData クラスのインスタンスになります。
同じ名前のフィールドが複数ある場合、WEBrick::HTTPUtils::FormData#list や
WEBrick::HTTPUtils::FormData#each_data によりそれぞれの値を取り出すことがで... -
WIN32OLE
_ VARIANT (40.0) -
OLEオートメーションの標準型のVARIANTオブジェクトをRubyで利用するための クラスです。
OLEオートメーションの標準型のVARIANTオブジェクトをRubyで利用するための
クラスです。
VARIANT型とは、型情報と値のペアから構成されるデータ型で、元はVBの型無し
変数のための構造体です。OLEオートメーションのメソッド呼び出しには汎用型
として引数にはVARIANT型を利用します。
* 型情報は、WIN32OLE_VARIANT#vartypeで取得できます。
* 値は、WIN32OLE_VARIANT#valueで取得できます。
OLEオートメーションのメソッド呼び出し規約では、引数はVARIANT型の配列と
して定義されています。
この規約に対して、WIN3... -
Fiddle
:: CStruct (22.0) -
C の構造体を表すクラスです。
C の構造体を表すクラスです。
このクラスは直接は使わず、Fiddle::Importer#struct を用いて
このクラスを継承したクラスを生成し、それを利用します。
Fiddle::Importer#struct が生成するクラスには
構造体の各メンバへのアクセサが定義されています。
このアクセサはシグネチャの型とメンバ名に従って定義されます。
例えば
require 'fiddle/import'
include Fiddle::Importer
S = struct(["long foo", "void* bar"])
とすると、 S#foo, S#foo= という... -
Gem
:: Package :: TarHeader (22.0) -
tar アーカイブの各エントリのヘッダを表すクラスです。
tar アーカイブの各エントリのヘッダを表すクラスです。
* tar(5) -
IPAddr (22.0)
-
IP アドレスを扱うのためのクラスです。
IP アドレスを扱うのためのクラスです。
例:
require 'ipaddr'
ipaddr1 = IPAddr.new("3ffe:505:2::1")
p ipaddr1 # => #<IPAddr: IPv6:3ffe:0505:0002:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>
ipaddr3 = IPAddr.new("192.168.2.0/24")
p ipaddr3 # => #<IPAddr: IPv4:192.168.2.0/255.255... -
Matrix (22.0)
-
数Numericを要素とする行列を扱うクラスです。
数Numericを要素とする行列を扱うクラスです。
行列
m * n 個の数a(i,j)を
[ a(0,0) a(0,1) a(0,2) a(0,3) ... a(0,n-1) ]
[ a(1,0) a(1,1) a(1,2) a(1,3) ... a(1,n-1) ]
[ a(2,0) a(2,1) a(2,2) a(2,3) ... a(2,n-1) ]
[ ]
[ a(m-1,0) a(m-1,n-1) ]
... -
OpenSSL
:: ASN1 :: ObjectId (22.0) -
ASN.1 のオブジェクト識別子を表すクラス。
ASN.1 のオブジェクト識別子を表すクラス。
* ITU-T X.660 https://www.itu.int/rec/T-REC-X.660/en -
OpenSSL
:: X509 :: CRL (22.0) -
CRL(証明書失効リスト) クラス。
CRL(証明書失効リスト) クラス。
CRL とは、危殆化した等なんらかの理由で失効した証明書のリストです。
通常 CA によって発行されるものです。
OpenSSL::X509::Store に組込むことで失効した証明書の検証を
失敗させることができます。
通常 CRL の信頼性を確認するためには CRL になされた
署名を検証する必要があります。
* 5280 -
OpenSSL
:: X509 :: Certificate (22.0) -
X509 証明書クラス
X509 証明書クラス
* 5280 -
OpenSSL
:: X509 :: Extension (22.0) -
X.509 v3 証明書の拡張領域のためのクラスです。
X.509 v3 証明書の拡張領域のためのクラスです。
OpenSSL::X509::Certificate オブジェクトは
その拡張領域を Extension オブジェクトの配列として保持し、
OpenSSL::X509::Certificate#extensions でその配列が得られます。
このクラスのインスタンス生成は OpenSSL::ASN1::ASN1Data を
取り扱う必要があり面倒です。
OpenSSL::X509::ExtensionFactory を用いることで
インスタンスの生成を簡便に行うことができます。
=== 参照
* 5280 -
Rational (22.0)
-
有理数を扱うクラスです。
有理数を扱うクラスです。
「1/3」のような有理数を扱う事ができます。Integer や Float
と同様に Rational.new ではなく、 Kernel.#Rational を使用して
Rational オブジェクトを作成します。
//emlist[例][ruby]{
Rational(1, 3) # => (1/3)
Rational('1/3') # => (1/3)
Rational('0.33') # => (33/100)
Rational.new(1, 3) # => NoMethodError
//}
Rational オブジェク... -
RubyVM
:: InstructionSequence (22.0) -
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Method、Proc オブジェクトや Ruby のソースコードを表す文字列
から VM の命令シーケンスを得る事ができます。また、
RubyVM::InstructionSequence オブジェクトを元に命令シーケンスを読みやす
い文字列に変換する事もできます。Ruby の命令シーケンスコンパイラの設定を
扱う必要がありますが、Ruby の VM がどのように働くかを知るのに有用です。
VM の命令シーケンスの一覧はRuby のソースコード中の insns.def から参照で
きます。
... -
Thread
:: Backtrace :: Location (22.0) -
Ruby のフレームを表すクラスです。
...例1の実行結果:
caller_locations.rb:2:in `a'
caller_locations.rb:5:in `b'
caller_locations.rb:8:in `c'
//emlist[例2][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
p... -
WEBrick
:: HTTPProxyServer (22.0) -
プロクシの機能を提供するクラスです。CONNECT メソッドにも対応しています。
プロクシの機能を提供するクラスです。CONNECT メソッドにも対応しています。
* https://magazine.rubyist.net/articles/0002/0002-WEBrickProxy.html
以下は完全に動作するプロクシサーバの例です。
require 'webrick'
require 'webrick/httpproxy'
s = WEBrick::HTTPProxyServer.new(Port: 8080)
Signal.trap('INT') do
s.shutdown
end
s.start