モジュール
- Exception2MessageMapper (9)
-
Mutex
_ m (1) -
OpenSSL
:: ASN1 (1) -
Socket
:: Constants (1)
キーワード
- Fail (2)
- Filter (1)
-
IPPROTO
_ TP (2) - Raise (2)
-
append
_ features (2) - debug (1)
- decode (1)
-
def
_ exception (2) - fail (1)
- irb (1)
-
object
_ group (1) -
pretty
_ print (1) -
pretty
_ print _ cycle (1) - read (1)
- readlines (1)
-
to
_ a (1) -
to
_ bn (1) - tsort (1)
検索結果
先頭5件
-
pp (114379.0)
-
オブジェクトなどを見やすく出力するためのライブラリです。
オブジェクトなどを見やすく出力するためのライブラリです。
このライブラリを require すると Kernel.#pp が定義されます。
Kernel.#p のかわりに Kernel.#pp を使うことにより、
適切にインデントと改行された分かりやすい出力を得ることが出来ます。
pp ライブラリは、ユーザがあたらしく定義したクラスに対しても見やすい表示を
するように作られていますので、Kernel.#pp を使う上で余計な作業をする
必要はありません。
=== どちらが読みやすいでしょうか?
p による pretty-print されてない出力:
#<PP:0x81a0d10 @s... -
PP
# object _ group(obj) { . . . } -> () (51049.0) -
以下と等価な働きをするもので簡便のために用意されています。 group(1, '#<' + obj.class.name, '>') { ... }
以下と等価な働きをするもので簡便のために用意されています。
group(1, '#<' + obj.class.name, '>') { ... }
@param obj 表示したいオブジェクトを指定します。
@see PrettyPrint#group -
Object
# pretty _ print(pp) -> () (24688.0) -
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに 呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに
呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
あるクラスの pp の出力をカスタマイズしたい場合は、このメソッドを再定義します。
そのとき pretty_print メソッドは指定された pp に対して表示したい自身の内容を追加して
いかなければいけません。いくつかの組み込みクラスについて、
pp ライブラリはあらかじめ pretty_print メソッドを定義しています。
@param pp PP オブジェクトです。
//emlist[][ruby]{
require 'pp'
... -
Object
# pretty _ print _ cycle(pp) -> () (24376.0) -
プリティプリント時にオブジェクトの循環参照が検出された場合、 Object#pretty_print の代わりに呼ばれるメソッドです。
プリティプリント時にオブジェクトの循環参照が検出された場合、
Object#pretty_print の代わりに呼ばれるメソッドです。
あるクラスの pp の出力をカスタマイズしたい場合は、
このメソッドも再定義する必要があります。
@param pp PP オブジェクトです。
//emlist[][ruby]{
class Array
def pretty_print_cycle(q)
q.text(empty? ? '[]' : '[...]')
end
end
//}
@see Object#pretty_print -
Module
# append _ features(module _ or _ class) -> self (18604.0) -
モジュール(あるいはクラス)に self の機能を追加します。
モジュール(あるいはクラス)に self の機能を追加します。
このメソッドは Module#include の実体であり、
include を Ruby で書くと以下のように定義できます。
//emlist[例][ruby]{
def include(*modules)
modules.reverse_each do |mod|
# append_features や included はプライベートメソッドなので
# 直接 mod.append_features(self) などとは書けない
mod.__send__(:append_features, s... -
Mutex
_ m . append _ features(klass) -> Class | nil (18604.0) -
ユーザが直接、使うことはありません。
ユーザが直接、使うことはありません。
@see Module#append_features -
Socket
:: Constants :: IPPROTO _ TP -> Integer (18349.0) -
@todo ISO transport protocol class 4。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
@todo
ISO transport protocol class 4。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。 -
Socket
:: IPPROTO _ TP -> Integer (18349.0) -
@todo ISO transport protocol class 4。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
@todo
ISO transport protocol class 4。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。 -
Exception2MessageMapper
# def _ e2message(exception _ class , message _ format) -> Class (9691.0) -
すでに存在する例外クラス exception_class に、 エラーメッセージ用フォーマット message_format を関連づけます。
すでに存在する例外クラス exception_class に、
エラーメッセージ用フォーマット message_format を関連づけます。
このフォーマットは Exception2MessageMapper#Raise,
Exception2MessageMapper#Fail で使用します。
@param exception_class メッセージを登録する例外クラスを指定します。
@param message_format メッセージのフォーマットを指定します。
Kernel.#sprintf のフォーマット文字列と同じ形式を使用できます... -
Exception2MessageMapper
. def _ e2message(klass , exception _ class , message _ format) -> Class (9691.0) -
すでに存在する例外クラス exception_class に、 エラーメッセージ用フォーマット message_format を関連づけます。
すでに存在する例外クラス exception_class に、
エラーメッセージ用フォーマット message_format を関連づけます。
@param klass 一階層上となるクラス名を指定します。
@param exception_class メッセージを登録する例外クラスを指定します。
@param message_format メッセージのフォーマットを指定します。
Kernel.#sprintf のフォーマット文字列と同じ形式を使用できます。
@return exception_class を返します。 -
Exception2MessageMapper
# def _ exception(exception _ name , message _ format , superclass = StandardError) -> Class (9604.0) -
exception_name という名前の例外クラスを定義します。
exception_name という名前の例外クラスを定義します。
@param exception_name 定義する例外クラスの名前をシンボルで指定します。
@param message_format メッセージのフォーマット。
@param superclass 定義する例外のスーパークラスを指定します。
省略すると StandardError を使用します。 -
Exception2MessageMapper
# Fail(exception _ class = nil , *rest) -> () (9343.0) -
登録されている情報を使用して、例外を発生させます。
登録されている情報を使用して、例外を発生させます。
@param exception_class 例外クラス。
@param rest メッセージに埋め込む値。
@raise Exception2MessageMapper::ErrNotRegisteredException 指定された例外クラスに対応するメッセージが存在しない場合に発生します。
例:
class Foo
extend Exception2MessageMapper
p def_exception :NewExceptionClass, "message...%d, %d and %d" # =>... -
Exception2MessageMapper
# Raise(exception _ class = nil , *rest) -> () (9343.0) -
登録されている情報を使用して、例外を発生させます。
登録されている情報を使用して、例外を発生させます。
@param exception_class 例外クラス。
@param rest メッセージに埋め込む値。
@raise Exception2MessageMapper::ErrNotRegisteredException 指定された例外クラスに対応するメッセージが存在しない場合に発生します。
例:
class Foo
extend Exception2MessageMapper
p def_exception :NewExceptionClass, "message...%d, %d and %d" # =>... -
Exception2MessageMapper
. Fail(klass = E2MM , exception _ class = nil , *rest) -> () (9325.0) -
登録されている情報を使用して、例外を発生させます。
登録されている情報を使用して、例外を発生させます。
@param klass 一階層上となるクラス名を指定します。
@param exception_class 例外クラス。
@param rest メッセージに埋め込む値。
@raise Exception2MessageMapper::ErrNotRegisteredException 指定された例外クラスに対応するメッセージが存在しない場合に発生します。 -
Exception2MessageMapper
. Raise(klass = E2MM , exception _ class = nil , *rest) -> () (9325.0) -
登録されている情報を使用して、例外を発生させます。
登録されている情報を使用して、例外を発生させます。
@param klass 一階層上となるクラス名を指定します。
@param exception_class 例外クラス。
@param rest メッセージに埋め込む値。
@raise Exception2MessageMapper::ErrNotRegisteredException 指定された例外クラスに対応するメッセージが存在しない場合に発生します。 -
Exception2MessageMapper
# fail(exception _ class = nil , *rest) -> () (9322.0) -
登録されている情報を使用して、例外を発生させます。
登録されている情報を使用して、例外を発生させます。
@param exception_class 例外クラス。
@param rest メッセージに埋め込む値。
@raise Exception2MessageMapper::ErrNotRegisteredException 指定された例外クラスに対応するメッセージが存在しない場合に発生します。 -
Exception2MessageMapper
. def _ exception(klass , exception _ name , message _ format , superklass = StandardError) -> Class (9304.0) -
exception_name という名前の例外クラスを定義します。
exception_name という名前の例外クラスを定義します。
@param klass 一階層上となるクラス名を指定します。
@param exception_name 例外クラスの名前をシンボルで指定します。
@param message_format メッセージのフォーマットを指定します。
Kernel.#sprintf のフォーマット文字列と同じ形式を使用できます。
@param superklass 定義する例外クラスのスーパークラスを指定します。
省略すると StandardError を使用... -
Ripper
:: Filter (9055.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">... -
OpenSSL
:: ASN1 . # decode(der) -> OpenSSL :: ASN1 :: ASN1Data (109.0) -
DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスとして返します。
DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を
OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスとして返します。
複数の ASN.1 の値が含まれている場合、先頭の値だけを返します。
ASN.1 オブジェクトが Constructive である場合は、
それを構成する要素も再帰的に解析します。
例:
ruby -e '
require "openssl"
require "pp"
pem = File.read(ARGV[0])
cert = OpenSSL::X509::Certificate.new(pem... -
Integer
# to _ bn -> OpenSSL :: BN (73.0) -
Integer を同じ数を表す OpenSSL::BN のオブジェクトに 変換します。
Integer を同じ数を表す OpenSSL::BN のオブジェクトに
変換します。
//emlist[][ruby]{
require 'pp'
require 'openssl'
pp 5.to_bn #=> #<OpenSSL::BN 5>
pp (-5).to_bn #=> #<OpenSSL::BN -5>
//}
なお、実装は、以下のようになっています。
//emlist[][ruby]{
class Integer
def to_bn
OpenSSL::BN::new(self)
end
end
//}
@see OpenSSL::BN.n... -
irb (73.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
irb は Interactive Ruby の略です。
irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
=== irb の使い方
Ruby さえ知っていれば irb を使うのは簡単です。
irb コマンドを実行すると、以下のようなプロンプトが表れます。
$ irb
irb(main):001:0>
あとは Ruby の式を入力するだけで、その式が実行され、結果が表示されます。
irb(main):001:0> 1+2
3
irb(main):002:0> class Foo
irb(main):003:1> def f... -
CSV
. read(path , options = Hash . new) -> [Array] | CSV :: Table (55.0) -
CSV ファイルを配列の配列にするために使います。 headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
CSV ファイルを配列の配列にするために使います。
headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
@param path CSV ファイルのパスを指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると入力のエンコーディングを指定することができます。
入力のエンコーディングか Encoding.default_external と異なる場合は
必ず指定... -
CSV
. readlines(path , options = Hash . new) -> [Array] | CSV :: Table (55.0) -
CSV ファイルを配列の配列にするために使います。 headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
CSV ファイルを配列の配列にするために使います。
headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
@param path CSV ファイルのパスを指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると入力のエンコーディングを指定することができます。
入力のエンコーディングか Encoding.default_external と異なる場合は
必ず指定... -
RubyVM
:: InstructionSequence # to _ a -> Array (55.0) -
self の情報を 14 要素の配列にして返します。
self の情報を 14 要素の配列にして返します。
命令シーケンスを以下の情報で表します。
: magic
データフォーマットを示す文字列。常に
"YARVInstructionSequence/SimpleDataFormat"。
: major_version
命令シーケンスのメジャーバージョン。
: minor_version
命令シーケンスのマイナーバージョン。
: format_type
データフォーマットを示す数値。常に 1。
: misc
以下の要素から構成される Hash オブジェクト。
:arg_size: メソッド、ブ... -
debug (55.0)
-
Ruby デバッガです。Ruby スクリプトのソースコードデバッグに使用します。
Ruby デバッガです。Ruby スクリプトのソースコードデバッグに使用します。
また、Emacs を使用したインタフェース rubydb3x.el が
https://github.com/ruby/elisp にあるので、活用してください。
=== 使い方
$ ruby -rdebug foo.rb
または、Emacs から
M-x load-library rubydb3x.el
M-x rubydb
=== デバッグコマンド
以下は、デバッガで使用できるコマンド名とその用法の一覧です。
各コマンド名には省略形があります。
ここに挙げたもの以外を入力し... -
tsort (55.0)
-
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
=== Example
//emlist[][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
{1=>[2, 3], 2=>[3], 3=>[], 4=>[]}.tsort
#=> [3, 2, 1, 4]
{1=>[2], 2=>[3, 4...