ライブラリ
- ビルトイン (15)
-
digest
/ rmd160 (1) - drb (1)
- erb (1)
- matrix (1)
-
net
/ http (1) - openssl (1)
- optparse (1)
- psych (2)
-
rdoc
/ markup (1) - resolv (1)
-
rexml
/ document (4) -
rubygems
/ package / tar _ input (1) -
rubygems
/ package / tar _ output (1) -
rubygems
/ package / tar _ reader (1) - strscan (1)
-
webrick
/ httpauth / htpasswd (1) -
webrick
/ httpproxy (1) -
webrick
/ httpstatus (2) -
webrick
/ httputils (1) - win32ole (1)
キーワード
- Cipher (1)
- CompatibilityError (1)
- ConditionVariable (1)
- ConverterNotFoundError (1)
- DNS (1)
- DRbIdConv (1)
- ERB (1)
- EXXX (1)
- ExternalEntity (1)
- FormData (1)
- HTTPNonAuthoritativeInformation (1)
- HTTPProxyServer (1)
- Htpasswd (1)
- IO (1)
- Instruction (1)
- InvalidByteSequenceError (1)
- Markup (1)
- Matrix (1)
- NonAuthoritativeInformation (1)
- NotationDecl (1)
- Numeric (1)
- OptionParser (1)
- Options (1)
- Proc (1)
- RMD160 (1)
- Random (1)
- RegexpError (1)
- RequestURITooLarge (1)
- ScalarScanner (1)
- SizedQueue (1)
- String (1)
- StringScanner (1)
- TarInput (1)
- TarOutput (1)
- TarReader (1)
- Thread (1)
- ThreadGroup (1)
- UndefinedConversionError (1)
- WIN32OLERuntimeError (1)
- XMLDecl (1)
- YAMLTree (1)
検索結果
先頭5件
-
WEBrick
:: HTTPStatus :: NonAuthoritativeInformation (27052.0) -
HTTP のステータスコード 203 Non-Authoritative Information を表すクラスです。
HTTP のステータスコード 203 Non-Authoritative Information を表すクラスです。 -
WEBrick
:: HTTPStatus :: RequestURITooLarge (27052.0) -
HTTP のステータスコード 414 Request-URI Too Long を表すクラスです。
HTTP のステータスコード 414 Request-URI Too Long を表すクラスです。 -
DRb
:: DRbIdConv (27022.0) -
オブジェクトと識別子を相互に変換するクラスです。
オブジェクトと識別子を相互に変換するクラスです。
リモートオブジェクトは、URIと識別子で区別されます。
リモートメソッド呼び出しは、リモートプロセスに識別子を
送り、それを受け取ったプロセスでオブジェクトに変換することで実現されます。
このクラスはdRubyでデフォルトとして使われる
のオブジェクト-識別子間の変換クラスです。
この変換には ObjectSpace の機構が使われます。特に
ObjectSpace.#_id2ref が使われています。
これはリモートオブジェクト
が有効なのはリモートプロセス内の対応オブジェクトが GC で回収されるまで
であることを意味します。一方 GC... -
Numeric (22594.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... -
Encoding
:: UndefinedConversionError (18346.0) -
エンコーディング変換後の文字が存在しない場合に発生する例外。
エンコーディング変換後の文字が存在しない場合に発生する例外。
UTF-8 にしかない文字を EUC-JP に変換しようとした場合などに発生します。
//emlist[例][ruby]{
"\u2603".encode(Encoding::EUC_JP)
#=> Encoding::UndefinedConversionError: U+2603 from UTF-8 to EUC-JP
//}
変換が多段階でなされ、その途中で例外が生じた場合は、
例外オブジェクトが保持するエラー情報はその中間のものになります。
//emlist[例][ruby]{
ec = Encoding::Co... -
String (18256.0)
-
文字列のクラスです。 ヌル文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。
文字列のクラスです。
ヌル文字を含む任意のバイト列を扱うことができます。
文字列の長さにはメモリ容量以外の制限はありません。
文字列は通常、文字列リテラルを使って生成します。
以下に文字列リテラルの例をいくつか示します。
//emlist[文字列リテラルの例][ruby]{
'str\\ing' # シングルクオート文字列 (エスケープシーケンスがほぼ無効)
"string\n" # ダブルクオート文字列 (エスケープシーケンスがすべて有効)
%q(str\\ing) # 「%q」文字列 (エスケープシーケンスがほぼ無効、デリミタが変えられる)
%Q(string\n) # 「%Q... -
WEBrick
:: HTTPUtils :: FormData (18196.0) -
クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも 使われます。
クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも
使われます。
WEBrick::HTTPRequest#query はリクエストのクエリーあるいは
クライアントがフォームへ入力した値を保持した Hash を返しますが、
その Hash のキーと値のうち値は FormData クラスのインスタンスになります。
同じ名前のフィールドが複数ある場合、WEBrick::HTTPUtils::FormData#list や
WEBrick::HTTPUtils::FormData#each_data によりそれぞれの値を取り出すことがで... -
Matrix (18148.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) ]
... -
REXML
:: Instruction (18094.0) -
XML 処理命令(XML Processing Instruction, XML PI)を表すクラス。
XML 処理命令(XML Processing Instruction, XML PI)を表すクラス。
XML 処理命令 とは XML 文書中の <? と ?> で挟まれた部分のことで、
アプリケーションへの指示を保持するために使われます。
XML 宣言(文書先頭の <?xml version=... ?>)はXML処理命令ではありませんが、
似た見た目を持っています。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="utf-... -
Encoding
:: CompatibilityError (18076.0) -
2つのエンコーディング間に互換性がない場合に発生する例外。
2つのエンコーディング間に互換性がない場合に発生する例外。
エンコーディングの異なる文字列を連結しようとした場合などに発生します。
//emlist[例][ruby]{
"あ".encode("EUC-JP") + "あ".encode("UTF-8")
#=> Encoding::CompatibilityError: incompatible character encodings: EUC-JP and UTF-8
//} -
Encoding
:: InvalidByteSequenceError (18076.0) -
文字列がそのエンコーディングにおいて不正なバイト列である場合に発生 する例外。
文字列がそのエンコーディングにおいて不正なバイト列である場合に発生
する例外。
通常エンコーディング変換時に発生します。
//emlist[例][ruby]{
"\x82\xa0".force_encoding("cp932").encode("UTF-8")
#=> "あ"
"\x82\xa0".force_encoding("EUC-JP").encode("UTF-8")
#=> Encoding::InvalidByteSequenceError: "\x82" on EUC-JP
//} -
OpenSSL
:: Cipher (18076.0) -
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
基本的にこのクラスを直接使ってデータを暗号化することは
避けてください。通常はより高水準なインターフェースが利用可能な
はずです。必要なのは暗号アルゴリズムを指定するため
OpenSSL::Cipher.new で暗号オブジェクトを生成することだけでしょう。
もし、このクラスを直接利用して暗号化する場合は、暗号の鍵や
IV(Initialization Vector)の取り扱いについて正しく理解してからに
してください。
以下の手順で利用します。
* OpenSSL::Cipher.new や OpenSSL::... -
RegexpError (18076.0)
-
正規表現のコンパイルに失敗したときに発生します。
正規表現のコンパイルに失敗したときに発生します。
例:
$ ruby -e 'Regexp.compile("*")'
-e:1:in `initialize': target of repeat operator is not specified: /*/ (RegexpError)
from -e:1:in `Regexp#compile'
from -e:1 -
ERB (18058.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 は整形の挙動を変更するオプションです。次の... -
RDoc
:: Markup (18058.0) -
RDoc 形式のドキュメントを目的の形式に変換するためのクラスです。
...フォーマットを行うようにパーサを拡張する事もできます。
例:
require 'rdoc/markup'
require 'rdoc/markup/to_html'
class WikiHtml < RDoc::Markup::ToHtml
# WikiWord のフォントを赤く表示。
def handle_special_WIKIWORD(special)
"<font color=red>... -
StringScanner (18058.0)
-
StringScanner は文字列スキャナクラスです。 簡単に高速なスキャナを記述できます。
StringScanner は文字列スキャナクラスです。
簡単に高速なスキャナを記述できます。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('This is an example string')
s.eos? #=> false
p s.scan(/\w+/) #=> "This"
p s.scan(/\w+/) #=> nil
p s.scan(/\s+/) #=> " "
p s.scan(/\s+/) #=> nil
p s.scan(/\w+/) #=> "is"... -
Thread
:: ConditionVariable (18058.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...が空になった場合、
あるいは満タンになった場合に Condition Variable を使って wait しています。
require 'thread'
class TinyQueue
def initialize(max=2)
@max = max
@full = ConditionVariable.new
@empty = ConditionVariable.new
@mutex = Mut... -
Digest
:: RMD160 (18052.0) -
Hans Dobbertin, Antoon Bosselaers, Bart Preneel によって設計された RIPEMD-160 ハッシュ関数を実装するクラスです。
Hans Dobbertin, Antoon Bosselaers, Bart Preneel によって設計された
RIPEMD-160 ハッシュ関数を実装するクラスです。 -
Gem
:: Package :: TarInput (18052.0) -
gem-format な tar ファイルを読み込む Gem::Package::TarReader のラッ パークラスです。
gem-format な tar ファイルを読み込む Gem::Package::TarReader のラッ
パークラスです。 -
Gem
:: Package :: TarOutput (18052.0) -
gem-format な tar ファイルを書き出す Gem::Package::TarWriter のラッ パークラスです。
gem-format な tar ファイルを書き出す Gem::Package::TarWriter のラッ
パークラスです。 -
Gem
:: Package :: TarReader (18052.0) -
gem-format な tar ファイルを読むためのクラスです。
gem-format な tar ファイルを読むためのクラスです。 -
Net
:: HTTPNonAuthoritativeInformation (18052.0) -
HTTP レスポンス 203 (Non-Authoritative Information) を表現するクラスです。
HTTP レスポンス 203 (Non-Authoritative Information) を表現するクラスです。
詳しくは 7231 Section 6.3.4 を見てください。 -
Psych
:: ScalarScanner (18052.0) -
YAML の scalar 型を読み込んで Ruby の built-in 型に変換するクラス。
YAML の scalar 型を読み込んで Ruby の built-in 型に変換するクラス。 -
OptionParser (18040.0)
-
コマンドラインのオプションを取り扱うためのクラスです。
コマンドラインのオプションを取り扱うためのクラスです。
オプションが指定された時に呼ばれるブロックを
OptionParser#on メソッドで登録していきます。
つまり、OptionParser を使う場合、基本的には
(1) OptionParser オブジェクト opt を生成する。
(2) オプションを取り扱うブロックを opt に登録する。
(3) opt.parse(ARGV) でコマンドラインを実際に parse する。
というような流れになります。
//emlist[][ruby]{
require "optparse"
ProgramConfig = Ha... -
Psych
:: Visitors :: YAMLTree (18040.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
:: ExternalEntity (18040.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... -
Random (18040.0)
-
MT19937に基づく擬似乱数生成器を提供するクラスです。
MT19937に基づく擬似乱数生成器を提供するクラスです。
=== 参考
オリジナル版 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html -
ThreadGroup (18040.0)
-
スレッドグループを表すクラスです。グループに属する Thread をまとめて 操作することができます。
スレッドグループを表すクラスです。グループに属する Thread をまとめて
操作することができます。
Thread は必ずいずれかひとつのスレッドグループに属します。
生成されたばかりの Thread は、生成した Thread のグループを引き継ぎます。
メインスレッドはデフォルトでは ThreadGroup::Default に属します。
: 例:
生成したすべてのThreadが終了するのを待つ
5.times {
Thread.new { sleep 1; puts "#{Thread.current} finished" }
}
... -
Encoding
:: ConverterNotFoundError (18022.0) -
指定した名前のエンコーディング変換をする変換器が 存在しない場合に発生する例外。
指定した名前のエンコーディング変換をする変換器が
存在しない場合に発生する例外。
//emlist[例][ruby]{
"あ".encode("Foo")
#=> Encoding::ConverterNotFoundError: code converter not found (UTF-8 to Foo)
//} -
Proc (18022.0)
-
ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。
ブロックをコンテキスト(ローカル変数のスコープやスタックフ
レーム)とともにオブジェクト化した手続きオブジェクトです。
Proc は ローカル変数のスコープを導入しないことを除いて
名前のない関数のように使えます。ダイナミックローカル変数は
Proc ローカルの変数として使えます。
Proc がローカル変数のスコープを保持していることは以下の例で
変数 var を参照できていることからわかります。
//emlist[例][ruby]{
var = 1
$foo = Proc.new { var }
var = 2
def foo
$foo.call
end
p foo ... -
Thread (18022.0)
-
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。
Thread を使うことで並行プログラミングが可能になります。
=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡... -
WEBrick
:: HTTPProxyServer (18022.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 -
WIN32OLERuntimeError (18022.0)
-
COMインターフェイスエラー時に発生する例外です。
COMインターフェイスエラー時に発生する例外です。
WIN32OLERuntimeErrorは、OLEオートメーション呼び出しが例外ステータス
(HRESULTのMSBがオン)で返った場合や、メソッド呼び出し時にオートメーショ
ン仕様で認められていない値が与えられた場合に発生します。
OLEオートメーション呼び出しが例外ステータスで戻された場合は、メッセージ
に例外となったHRESULT値と対応するメッセージが表示されます。
HRESULT: http://msdn.microsoft.com/en-us/library/cc704587(v=PROT.10).aspx -
REXML
:: NotationDecl (9292.0) -
DTD の記法宣言を表すクラスです。
DTD の記法宣言を表すクラスです。
//emlist[][ruby]{
require 'rexml/document'
doctype = REXML::Document.new(<<EOS).doctype
<!DOCTYPE foo [
<!NOTATION type-image-svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!NOTATION type-image-gif PUBLIC "image/gif">... -
WEBrick
:: HTTPAuth :: Htpasswd (9100.0) -
Apache の htpasswd 互換のクラスです。 .htpasswd ファイルを新しく作成することも出来ます。 htpasswd -m (MD5) や -s (SHA) で作成された .htpasswd ファイルには対応していません。
Apache の htpasswd 互換のクラスです。
.htpasswd ファイルを新しく作成することも出来ます。
htpasswd -m (MD5) や -s (SHA) で作成された .htpasswd ファイルには対応していません。
例
require 'webrick'
include WEBrick
htpd = HTTPAuth::Htpasswd.new('dot.htpasswd')
htpd.set_passwd(nil, 'username', 'supersecretpass')
htpd.flush
htpd2 = HTTPAuth::Htpassw... -
REXML
:: XMLDecl (9076.0) -
XML 宣言を表すクラス。
XML 宣言を表すクラス。
文書から XML 宣言を取り出すには REXML::Document#xml_decl を使います。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<e />
EOS
xml_decl = doc.xml_decl
xml_decl.version # => "1.0"
xml_decl.encoding # => "UTF-8"
xml_de... -
Resolv
:: DNS (9040.0) -
このクラスは DNS を利用した名前解決をするリゾルバを 表します。
このクラスは DNS を利用した名前解決をするリゾルバを
表します。
このクラスは実際には下位のクラスに処理を依頼します。
DNSについては以下を参照してください。
* STD0013
* 1035
* ftp://ftp.isi.edu/in-notes/iana/assignments/dns-parameters
* etc. -
Errno
:: EXXX (9022.0) -
システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。 Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。
システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。
Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。
実際には「EXXX」というクラスが定義されているわけではありません。「XXX」の部分は下記に列挙したような各種のエラー名が入ります。
例えば、File.open の内部でシステムコール open(2) がエラーコード ENOENT を返すと、Rubyは例外 Errno::ENOENT を発生させます。
Ruby は処理系がコンパイルされるときに、デフォルトで下記リストのような Errno::EXXX クラスを定義しようとします。
動作... -
RDoc
:: Options (9022.0) -
rdoc コマンドのオプションを解析するためのクラスです。
...ンは必ず指定
する必要があります。rdoc --help を実行すると追加したオプションの一覧が
確認できます。
例:
class RDoc::Generator::Spellcheck
RDoc::RDoc.add_generator self
def self.setup_options rdoc_options
op = rdoc_options.option_parser... -
Thread
:: SizedQueue (9022.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
... -
IO (274.0)
-
基本的な入出力機能のためのクラスです。
基本的な入出力機能のためのクラスです。
File::Constants は、File から IO へ移動しました。
===[a:m17n] 多言語化と IO のエンコーディング
IO オブジェクトはエンコーディングを持ちます。
エンコーディングの影響を受けるメソッドと受けないメソッドがあります。
影響を受けるメソッドでは、IO のエンコーディングに従い読み込まれた文字列のエンコーディングが決定されます。
また IO のエンコーディングを適切に設定することにより、読み込み時・書き込み時に文字列のエンコーディングを
変換させることもできます。
==== エンコーディングの影響を受けるメ...