るりまサーチ (Ruby 2.3.0)

最速Rubyリファレンスマニュアル検索!
93件ヒット [1-93件を表示] (0.038秒)
トップページ > クエリ:ruby[x] > クエリ:pp[x] > バージョン:2.3.0[x]

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

モジュール

検索結果

pp (114379.0)

オブジェクトなどを見やすく出力するためのライブラリです。

オブジェクトなどを見やすく出力するためのライブラリです。

このライブラリを require すると Kernel.#pp が定義されます。
Kernel.#p のかわりに Kernel.#pp を使うことにより、
適切にインデントと改行された分かりやすい出力を得ることが出来ます。
pp ライブラリは、ユーザがあたらしく定義したクラスに対しても見やすい表示を
するように作られていますので、Kernel.#pp を使う上で余計な作業をする
必要はありません。

=== どちらが読みやすいでしょうか?

p による pretty-print されてない出力:
#<PP:0x81a0d10 @s...

PP.pp(obj, out = $>, width = 79) -> object (105376.0)

指定されたオブジェクト obj を出力先 out に幅 width で出力します。 出力先 out を返します。

指定されたオブジェクト obj を出力先 out に幅 width で出力します。
出力先 out を返します。

@param obj 表示したいオブジェクトを指定します。

@param out 出力先を指定します。<< メソッドが定義されている必要があります。

@param width 出力先の幅を指定します。

//emlist[][ruby]{
require 'pp'

str = PP.pp(b], [:a, [[:a, [:a, [:a, :b], [:a, :b],]]], '', 20)
puts str
# =>
# [[:a, :b],
# [:a,
# [[...

Kernel.#pp(*obj) -> object (78490.0)

指定されたオブジェクト obj を標準出力に見やすい形式(プリティプリント)で出力します。 obj それぞれを引数として PP.pp を呼ぶことと同等です。

指定されたオブジェクト obj を標準出力に見やすい形式(プリティプリント)で出力します。
obj それぞれを引数として PP.pp を呼ぶことと同等です。


@param obj 表示したいオブジェクトを指定します。

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

b = [1, 2, 3] * 4
a = [b, b]
a << a
pp a

#=> [[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
# [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
# [...]]
//}

@see PP.p...

PP.sharing_detection -> bool (51187.0)

共有検出フラグを表すアクセサです。 デフォルトは false です。true である場合、 PP.pp は一度出力したオブジェクトを再び出力する時 Object#pretty_print_cycle を使います。

共有検出フラグを表すアクセサです。
デフォルトは false です。true である場合、
PP.pp は一度出力したオブジェクトを再び出力する時
Object#pretty_print_cycle を使います。

@param boolean 共有検出フラグを true か false で指定します。

//emlist[][ruby]{
require 'pp'

b = [1, 2, 3]
a = [b, b]

pp a #=> [[1, 2, 3], [1, 2, 3]]

PP.sharing_detection = true
pp ...

PP.sharing_detection=(boolean) (51187.0)

共有検出フラグを表すアクセサです。 デフォルトは false です。true である場合、 PP.pp は一度出力したオブジェクトを再び出力する時 Object#pretty_print_cycle を使います。

共有検出フラグを表すアクセサです。
デフォルトは false です。true である場合、
PP.pp は一度出力したオブジェクトを再び出力する時
Object#pretty_print_cycle を使います。

@param boolean 共有検出フラグを true か false で指定します。

//emlist[][ruby]{
require 'pp'

b = [1, 2, 3]
a = [b, b]

pp a #=> [[1, 2, 3], [1, 2, 3]]

PP.sharing_detection = true
pp ...

絞り込み条件を変える

PP#seplist(list, sep = lambda { comma_breakable }, iter_method = :each) {|e| ...} -> () (51109.0)

リストの各要素を何かで区切りつつ、自身に追加していくために使われます。

リストの各要素を何かで区切りつつ、自身に追加していくために使われます。

list を iter_method によってイテレートし、各要素を引数としてブロックを実行します。
また、それぞれのブロックの実行の合間に sep が呼ばれます。

つまり、以下のふたつは同値です。

//emlist[][ruby]{
q.seplist([1,2,3]) {|v| q.pp v }

q.pp 1
q.comma_breakable
q.pp 2
q.comma_breakable
q.pp 3
//}

@param list 自身に追加したい配列を与えます。iter_method を適切に指定...

PP#comma_breakable -> () (51049.0)

以下と等価な働きをするもので簡便のために用意されています。 //emlist[][ruby]{ text ',' breakable //}

以下と等価な働きをするもので簡便のために用意されています。
//emlist[][ruby]{
text ','
breakable
//}

@see PrettyPrint#text, PrettyPrint#breakable

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

Rake.application -> Rake::Application (18655.0)

現在の Rake アプリケーションを返します。

現在の Rake アプリケーションを返します。

//emlist[][ruby]{
# Rakefile での記載例とする

require 'pp'

task default: :test_rake_app
task :test_rake_app do
pp Rake.application
end

# => #<Rake::Application:0x31b0f18
# @default_loader=#<Rake::DefaultLoader:0x31b0c78>,
# @imported=[],
# @last_description=nil,
# ...

絞り込み条件を変える

Rake.application=(app) (18655.0)

現在の Rake アプリケーションをセットします。

現在の Rake アプリケーションをセットします。

@param app Rake::Application のインスタンスを指定します。

//emlist[][ruby]{
# Rakefile での記載例とする

require 'pp'

task default: :test_rake_app
task :test_rake_app do
app = Rake::Application.new
app.tty_output = true
Rake.application = app
pp Rake.application
end

# => #<Rake::App...

void rb_parser_append_print(void) (18397.0)

ruby の -p オプションの実装。 ループと print のノードを ruby_eval_tree に加えます。

ruby の -p オプションの実装。
ループと print のノードを ruby_eval_tree に加えます。

static int e_option_supplied(void) (18349.0)

ruby -e で与えたプログラムを実行中なら真。

ruby -e で与えたプログラムを実行中なら真。

Module#append_features(module_or_class) -> self (18337.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...

Kernel#egrep_cpp(pattern, src, opt = "") -> bool (18319.0)

C プログラムのソースコード src をプリプロセスし、 その結果が正規表現 pattern にマッチするかどうかを判定します。

C プログラムのソースコード src をプリプロセスし、
その結果が正規表現 pattern にマッチするかどうかを判定します。

CPP $CFLAGS opt | egrep pat

を実行し、その結果が正常かどうかを true または false で返します。

このメソッドはヘッダファイルに関数などの宣言があるかどうか
検査するために使用します。

@param pattern 「egrep の」正規表現を文字列で指定します。
Ruby の正規表現ではありません。

@param src C 言語のソースコードを文字列で記述します。

@see ...

絞り込み条件を変える

Kernel#egrep_cpp(pattern, src, opt = "") { ... } -> bool (18319.0)

C プログラムのソースコード src をプリプロセスし、 その結果が正規表現 pattern にマッチするかどうかを判定します。

C プログラムのソースコード src をプリプロセスし、
その結果が正規表現 pattern にマッチするかどうかを判定します。

CPP $CFLAGS opt | egrep pat

を実行し、その結果が正常かどうかを true または false で返します。

このメソッドはヘッダファイルに関数などの宣言があるかどうか
検査するために使用します。

@param pattern 「egrep の」正規表現を文字列で指定します。
Ruby の正規表現ではありません。

@param src C 言語のソースコードを文字列で記述します。

@see ...

Rake::InvocationChain#append(task_name) -> Rake::InvocationChain (18319.0)

与えられたタスク名を追加して新しい Rake::InvocationChain を返します。

与えられたタスク名を追加して新しい Rake::InvocationChain を返します。

@param task_name 追加するタスク名を指定します。

@raise RuntimeError 循環したタスクの呼び出しを検出した場合に発生します。

//emlist[][ruby]{
# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
invocation_chain= Rake::InvocationChain.new("task_a", Rake::InvocationChain:...

Rake::InvocationChain.append(task_name, chain) -> Rake::InvocationChain (18319.0)

与えられたタスク名を第二引数の Rake::InvocationChain に追加します。

与えられたタスク名を第二引数の Rake::InvocationChain に追加します。

@param task_name タスク名を指定します。

@param chain 既に存在する Rake::InvocationChain のインスタンスを指定します。

//emlist[][ruby]{
# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
chain = Rake::InvocationChain::EMPTY
b = Rake::InvocationChain.append...

Ripper (18067.0)

Ruby プログラムのパーサです。

Ruby プログラムのパーサです。

Ruby プログラムをテキストとして扱いたい場合、
例えばソース色付けを行いたい場合は、
Ripper::Filter クラスを使うとよいでしょう。

ripper (18049.0)

Ruby プログラムを解析するためのライブラリです。

Ruby プログラムを解析するためのライブラリです。

絞り込み条件を変える

ripper/filter (18049.0)

イベントドリブンスタイルで Ruby プログラムを加工するためのライブラリです。

イベントドリブンスタイルで Ruby プログラムを加工するためのライブラリです。

ripper/lexer (18049.0)

Ruby プログラムをトークンのリストとして処理するためのライブラリです。

Ruby プログラムをトークンのリストとして処理するためのライブラリです。

ripper/sexp (18049.0)

Ruby プログラムを S 式として扱うためのライブラリです。

Ruby プログラムを S 式として扱うためのライブラリです。

Ripper.new(src, filename = "(ripper)", lineno = 1) -> Ripper (9619.0)

Ripper オブジェクトを作成します。

Ripper オブジェクトを作成します。

@param src Ruby プログラムを文字列か IO オブジェクトで指定します。

@param filename src のファイル名を文字列で指定します。省略すると "(ripper)" になります。

@param lineno src の開始行番号を指定します。省略すると 1 になります。

src の解析を行うには更に Ripper#parse などの呼び出しが必要です。

@see Ripper.parse, Ripper#parse

ruby 1.8.5 feature (9430.0)

ruby 1.8.5 feature ruby 1.8.4 から ruby 1.8.5 までの変更点です。

ruby 1.8.5 feature
ruby 1.8.4 から ruby 1.8.5 までの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッ...

絞り込み条件を変える

DOSISH 対応 (9355.0)

DOSISH 対応 ruby version 1.7 では、DOSISH対応(DOS/Windows のパス名の扱いに対する変 更)が含まれています。(現在の)変更点を以下に示します。

DOSISH 対応
ruby version 1.7 では、DOSISH対応(DOS/Windows のパス名の扱いに対する変
更)が含まれています。(現在の)変更点を以下に示します。

なお、これらの変更は platform/mswin32 版、platform/mingw32
版の Ruby にのみあてはまります。

とりあえずの目標として、

* \ も / と同様パスセパレータとして扱う
* マルチバイトパス名への対応("表" など 2 byte 目が 0x5c(`\') である文字を正しく扱う)
* UNC 対応(これ自体は1.6にも入っている)
* ドライブレター対応

...

Ripper.token_match(src, pattern) -> Ripper::TokenPattern::MatchData | nil (9349.0)

Ruby プログラム src に対してパターン pattern をマッチし、 マッチデータを返します。

Ruby プログラム src に対してパターン pattern をマッチし、
マッチデータを返します。

ライブラリ内部で使用します。

Rake::Application#init(app_name = &#39;rake&#39;) (9319.0)

コマンドラインオプションとアプリケーション名を初期化します。

コマンドラインオプションとアプリケーション名を初期化します。

//emlist[例][ruby]{
# Rakefile での記載例とする

task default: :test
task :test

Rake.application.name # => "rake"
Rake.application.init("MyApp") # => ["default"]
Rake.application.name # => "MyApp"
//}

Ripper.parse(src, filename = &#39;(ripper)&#39;, lineno = 1) -> nil (9319.0)

指定された文字列を解析します。常に nil を返します。

指定された文字列を解析します。常に nil を返します。

@param src Ruby プログラムを文字列か IO オブジェクトで指定します。

@param filename src のファイル名を文字列で指定します。省略すると "(ripper)" になります。

@param lineno src の開始行番号を指定します。省略すると 1 になります。

@see Ripper#parse

Ripper::Filter.new(src, filename = &#39;-&#39;, lineno = 1) -> Ripper::Filter (9319.0)

Ripper::Filter オブジェクトを作成します。

Ripper::Filter オブジェクトを作成します。

@param src Ruby プログラムを文字列か IO オブジェクトで指定します。

@param filename src のファイル名を文字列で指定します。省略すると "-" になります。

@param lineno src の開始行番号を指定します。省略すると 1 になります。

絞り込み条件を変える

Ripper::Filter (9139.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">...

Ripper.lex(src, filename = &#39;-&#39;, lineno = 1) -> [[Integer, Integer], Symbol, String] (9121.0)

Ruby プログラム str をトークンに分割し、そのリストを返します。 ただし Ripper.tokenize と違い、トークンの種類と位置情報も付属します。

Ruby プログラム str をトークンに分割し、そのリストを返します。
ただし Ripper.tokenize と違い、トークンの種類と位置情報も付属します。

@param src Ruby プログラムを文字列か IO オブジェクトで指定します。

@param filename src のファイル名を文字列で指定します。省略すると "-" になります。

@param lineno src の開始行番号を指定します。省略すると 1 になります。


//emlist[][ruby]{
require 'ripper'
require 'pp'

pp Ripper.lex("def m...

Ripper.sexp(src, filename = &#39;-&#39;, lineno = 1) -> object (9121.0)

Ruby プログラム str を解析して S 式のツリーにして返します。

Ruby プログラム str を解析して S 式のツリーにして返します。

@param src Ruby プログラムを文字列か IO オブジェクトで指定します。

@param filename src のファイル名を文字列で指定します。省略すると "-" になります。

@param lineno src の開始行番号を指定します。省略すると 1 になります。

実行結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。

//emlist[例][ruby]{
require 'ripper'
require 'pp'

pp Ripper.sexp("def m(a)...

Ripper.sexp_raw(src, filename = &#39;-&#39;, lineno = 1) -> object (9121.0)

Ruby プログラム str を解析して S 式のツリーにして返します。

Ruby プログラム str を解析して S 式のツリーにして返します。

@param src Ruby プログラムを文字列か IO オブジェクトで指定します。

@param filename src のファイル名を文字列で指定します。省略すると "-" になります。

@param lineno src の開始行番号を指定します。省略すると 1 になります。

実行結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。

//emlist[例][ruby]{
require 'ripper'
require 'pp'

pp Ripper.sexp_raw("def ...

Ripper.slice(src, pattern, n = 0) -> String | nil (9085.0)

Ruby プログラム src のうち、 パターン pattern の n 番目の括弧にマッチする文字列を取り出します。

Ruby プログラム src のうち、
パターン pattern の n 番目の括弧にマッチする文字列を取り出します。

マッチしない場合は nil を返します。

@param src Ruby プログラムを文字列か IO オブジェクトで指定します。

@param pattern 取り出すプログラムのパターンを文字列で指定します。

@param n pattern で指定した文字列の内、n 番目の括弧の中の文字列だけが必
要な時に指定します。省略すると 0 (pattern 全体)になります。

pattern は Ripper のイベント ID のリストを文字列で記...

絞り込み条件を変える

Ripper.tokenize(src, filename = &#39;-&#39;, lineno = 1) -> [String] (9085.0)

Ruby プログラム str をトークンに分割し、そのリストを返します。

Ruby プログラム str をトークンに分割し、そのリストを返します。

@param src Ruby プログラムを文字列か IO オブジェクトで指定します。

@param filename src のファイル名を文字列で指定します。省略すると "-" になります。

@param lineno src の開始行番号を指定します。省略すると 1 になります。


//emlist[][ruby]{
require 'ripper'

p Ripper.tokenize("def m(a) nil end")
# => ["def", " ", "m", "(", "a", ")", "...

RubyVM::InstructionSequence#to_a -> Array (9073.0)

self の情報を 14 要素の配列にして返します。

self の情報を 14 要素の配列にして返します。

命令シーケンスを以下の情報で表します。

: magic

データフォーマットを示す文字列。常に
"YARVInstructionSequence/SimpleDataFormat"。

: major_version

命令シーケンスのメジャーバージョン。

: minor_version

命令シーケンスのマイナーバージョン。

: format_type

データフォーマットを示す数値。常に 1。

: misc

以下の要素から構成される Hash オブジェクト。

:arg_size: メソッド、ブ...

Ripper#encoding -> Encoding (9067.0)

自身の持つ Ruby プログラムの文字エンコーディングを返します。

自身の持つ Ruby プログラムの文字エンコーディングを返します。

Ruby プログラムの解析前は Encoding::US_ASCII を返します。

Ripper#parse -> nil (9067.0)

自身の持つ Ruby プログラムを解析します。常に nil を返します。

自身の持つ Ruby プログラムを解析します。常に nil を返します。

サブクラスでオーバライドして使用します。Ruby プログラムの解析は行います
が、そのままでは解析結果は利用できません。サブクラスでイベントハンドラ
の定義や本メソッドの戻り値の追加などで対応する必要があります。

@see Ripper.parse

RubyVM::InstructionSequence.compile_option -> Hash (9055.0)

命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返 します。

命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返
します。

//emlist[例][ruby]{
require "pp"
pp RubyVM::InstructionSequence.compile_option

# => {:inline_const_cache=>true,
# :peephole_optimization=>true,
# :tailcall_optimization=>false,
# :specialized_instruction=>true,
# :operands_unification=>true,
# :instructi...

絞り込み条件を変える

Ripper#compile_error(msg) -> nil (9049.0)

解析した Ruby プログラムの中にコンパイルエラーがあった場合に実行されま す。

解析した Ruby プログラムの中にコンパイルエラーがあった場合に実行されま
す。

@param msg エラーメッセージ。

サブクラスでオーバライドして使用します。

Ripper#end_seen? -> bool (9049.0)

これまでに解析した Ruby プログラムの中に __END__ が含まれていたかどうか を返します。

これまでに解析した Ruby プログラムの中に __END__ が含まれていたかどうか
を返します。

Ripper#filename -> String (9049.0)

自身の持つ Ruby プログラムのファイル名を文字列で返します。

自身の持つ Ruby プログラムのファイル名を文字列で返します。

Ripper#warn(fmt, *args) -> nil (9049.0)

解析した Ruby プログラムの中に警告($-w が true の時だけ出力される 警告)を出力するようなものがあった場合に実行されます。

解析した Ruby プログラムの中に警告($-w が true の時だけ出力される
警告)を出力するようなものがあった場合に実行されます。

@param fmt エラーメッセージのフォーマット文字列です。

@param args エラーメッセージのフォーマットされる引数です。

サブクラスでオーバライドして使用します。

引数のエラーメッセージは printf フォーマットに従って渡されます。

Ripper#warning(fmt, *args) -> nil (9049.0)

解析した Ruby プログラムの中に重要な警告($-w が false の時だけ出 力される警告)を出力するようなものがあった場合に実行されます。

解析した Ruby プログラムの中に重要な警告($-w が false の時だけ出
力される警告)を出力するようなものがあった場合に実行されます。

@param fmt エラーメッセージのフォーマット文字列です。

@param args エラーメッセージのフォーマットされる引数です。

サブクラスでオーバライドして使用します。

引数のエラーメッセージは printf フォーマットに従って渡されます。

絞り込み条件を変える

Ripper::Filter#filename -> String (9049.0)

Ruby プログラムのファイル名を文字列で返します。

Ruby プログラムのファイル名を文字列で返します。

Ripper::Filter#parse(init = nil) -> object (9049.0)

自身の持つ Ruby プログラムの解析を開始します。各種イベントハンドラで処 理を行った結果を返します。

自身の持つ Ruby プログラムの解析を開始します。各種イベントハンドラで処
理を行った結果を返します。

@param init 任意の値を指定できます。この値がイベントハンドラに渡されていきます。

引数 init を初期値としてイベントハンドラに渡されていきます。各種イベン
トハンドラの戻り値は次のイベントハンドラに渡されます。
Enumerable#inject のように、最終的な結果を戻り値として返します。

@see Ripper::Filter#on_default, Ripper::Filter#on_XXX

Ripper::Lexer (9049.0)

Ruby プログラムの字句解析器です。

Ruby プログラムの字句解析器です。

Ripper::Lexer#lex -> [[Integer, Integer], Symbol, String] (9049.0)

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。

ライブラリ内部で使用します。 Ripper.lex を使用してください。

Ripper::Lexer#parse -> [[Integer, Integer], Symbol, String] (9049.0)

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。た だし Ripper::Lexer#lex と違い、結果をソートしません。

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。た
だし Ripper::Lexer#lex と違い、結果をソートしません。

ライブラリ内部で使用します。

絞り込み条件を変える

Ripper::Lexer#tokenize -> [String] (9049.0)

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。

ライブラリ内部で使用します。 Ripper.tokenize を使用してください。

Rake::Application#add_loader(ext, loader) (9019.0)

与えられた拡張子で終わるファイル名のファイルをロードするためのローダーを 自身に追加します。

与えられた拡張子で終わるファイル名のファイルをロードするためのローダーを
自身に追加します。

@param ext 拡張子を指定します。

@param loader ローダーを指定します。

//emlist[例][ruby]{
require "rake/loaders/makefile"

# Rakefile での記載例とする

task default: :test
task :test

makefile =<<-EOS
<< <<-'SAMPLE_MF'
# Comments
a: a1 a2 a3 a4
EOS
IO.write("sample.mf", makefile)...

Rake::Application#name -> String (9019.0)

アプリケーションの名前を返します。通常は 'rake' という名前を返します。

アプリケーションの名前を返します。通常は 'rake' という名前を返します。

//emlist[][ruby]{
# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
Rake.application.name # => "rake"
end
//}

Rake::Application#options -> OpenStruct (9019.0)

コマンドラインで与えられたアプリケーションのオプションを返します。

コマンドラインで与えられたアプリケーションのオプションを返します。

//emlist[][ruby]{
# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
Rake.application.options # => #<OpenStruct always_multitask=false, backtrace=false, build_all=false, dryrun=false, ignore_deprecate=false, ignore_system=false, job_stats=...

Rake::Application#original_dir -> String (9019.0)

rake コマンドを実行したディレクトリを返します。

rake コマンドを実行したディレクトリを返します。

//emlist[][ruby]{
# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
Rake.application.original_dir # => "/path/to/dir"
end
//}

絞り込み条件を変える

Rake::Application#rakefile -> String (9019.0)

実際に使用されている Rakefile の名前を返します。

実際に使用されている Rakefile の名前を返します。

//emlist[][ruby]{
# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
Rake.application.rakefile # => "Rakefile"
end
//}

Rake::Application#top_level (9019.0)

Rake アプリケーションに与えられたトップレベルのタスク (コマンドラインで指定されたタスク) を実行します。

Rake アプリケーションに与えられたトップレベルのタスク
(コマンドラインで指定されたタスク) を実行します。

//emlist[][ruby]{
# Rakefile での記載例とする

task default: :test1
task :test1
task :test2 do
puts "test2"
end

# rake test2 で実行
Rake.application.top_level

# => "test2"
//}

Rake::Application#top_level_tasks -> Array (9019.0)

コマンドラインで指定されたタスクのリストを返します。

コマンドラインで指定されたタスクのリストを返します。

//emlist[][ruby]{
# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
Rake.application.top_level_tasks # => ["default"]
end
//}

Rake::Application#tty_output=(tty_output_state) (9019.0)

TTY に対する出力状態を上書きします。

TTY に対する出力状態を上書きします。

大抵の場合、テストのために使用します。

@param tty_output_state 変更後の状態を指定します

//emlist[][ruby]{
# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
Rake.application.tty_output? # => false
Rake.application.tty_output = "debug output" # => "debug output"
...

irb (619.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...

絞り込み条件を変える

OpenSSL::BN#pretty_print(pp) (460.0)

Kernel.#pp でオブジェクトの内容を出力するときに、内部で呼ばれるメソッドです。

Kernel.#pp でオブジェクトの内容を出力するときに、内部で呼ばれるメソッドです。

//emlist[][ruby]{
require 'pp'
require 'openssl'

pp 5.to_bn #=> #<OpenSSL::BN 5>
pp (-5).to_bn #=> #<OpenSSL::BN -5>
//}

@param pp PP クラスのインスタンスオブジェクト

Gem::Requirement#pretty_print(pp) -> String (442.0)

わかりやすい形で、条件を表す文字列を返します。 pp メソッドで出力する際に、内部で用いられます。

わかりやすい形で、条件を表す文字列を返します。
pp メソッドで出力する際に、内部で用いられます。

@param PP :PP オブジェクトを指定します。

//emlist[][ruby]{
require 'pp'

req = Gem::Requirement.new(["< 5.0", ">= 1.9"])
pp req # => Gem::Requirement.new(["< 5.0", ">= 1.9"])
//}

Prime#each(upper_bound = nil, generator = EratosthenesGenerator.new) -> Enumerator (373.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 (373.0)

全ての素数を順番に与えられたブロックに渡して評価します。

全ての素数を順番に与えられたブロックに渡して評価します。

@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。

@param generator 素数生成器のインスタンスを指定します。

@return ブロックの最後に評価された値を返します。
ブロックが与えられなかった場合は、Enumerator と互換性のある外部イテレータを返します。

//emlist[例][ruby]{
require 'prime'
Prime.each(6){|prime| ...

PrettyPrint.format(output = &#39;&#39;, maxwidth = 79, newline = "\n", genspace = lambda{|n| &#39; &#39; * n}) {|pp| ...} -> object (358.0)

PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。 与えられた output を返します。

PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。
与えられた output を返します。

以下と同じ働きをするもので簡便のために用意されています。

//emlist[][ruby]{
require 'prettyprint'

begin
pp = PrettyPrint.new(output, maxwidth, newline, &genspace)
...
pp.flush
output
end
//}

@param output 出力先を指定します。output は << メソッドを持っていなければなりません。

@param...

絞り込み条件を変える

rexml/document (235.0)

DOM スタイルの XML パーサ。

DOM スタイルの XML パーサ。

REXML::Document.new で XML 文書から DOM ツリーを
構築し、ツリーのノードの各メソッドで文書の内容にアクセスします。

以下のプログラムではブックマークの XML からデータを取り出します。

//emlist[][ruby]{
require 'rexml/document'
require 'pp'

Bookmark = Struct.new(:href, :title, :desc)

doc = REXML::Document.new(<<XML)
<?xml version="1.0" encoding="UTF-...

debug (205.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

=== デバッグコマンド

以下は、デバッガで使用できるコマンド名とその用法の一覧です。
各コマンド名には省略形があります。

ここに挙げたもの以外を入力し...

Abbrev.#abbrev(words, pattern = nil) -> Hash (163.0)

文字列の配列から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。

文字列の配列から一意に決まる短縮形を計算し、
短縮形をキー、元の文字列を値とするハッシュを返します。

第二引数に正規表現を指定すると、words のうちそのパターンにマッチしたものから短縮形を計算します。
第二引数に文字列を指定すると、words のうちその文字列で始まるものから短縮形を計算します。

@param words 元となる文字列の配列。
@param pattern Regexp か String を指定します。

@return 短縮形をキー、元の文字列を値とするハッシュを返します。

require 'abbrev'

# words に同じ文字列が含まれ...

Enumerable#chunk {|elt| ... } -> Enumerator (163.0)

要素を前から順にブロックで評価し、その結果によって 要素をチャンクに分けた(グループ化した)要素を持つ Enumerator を返します。

要素を前から順にブロックで評価し、その結果によって
要素をチャンクに分けた(グループ化した)要素を持つ
Enumerator を返します。

ブロックの評価値が同じ値が続くものを一つのチャンクとして
取り扱います。すなわち、ブロックの評価値が一つ前と
異なる所でチャンクが区切られます。

返り値の Enumerator は各チャンクのブロック評価値と
各チャンクの要素を持つ配列のペアを各要素とします。
そのため、eachだと以下のようになります。

//emlist[][ruby]{
enum.chunk {|elt| key }.each {|key, ary| do_something ...

xmlrpc (163.0)

XML-RPC を扱うためのライブラリです。

XML-RPC を扱うためのライブラリです。

このページは xmlrpc ライブラリのまとめのページであり、require 'xmlrpc' を実行しても
エラーになることに注意して下さい。

=== Author and Copyright

Copyright (C) 2001-2004 by Michael Neumann

Released under the same term of license as Ruby.

=== Overview

XMLRPC is a lightweight protocol that enables remote procedure calls...

絞り込み条件を変える

Abbrev (109.0)

与えられた文字列の短縮形を生成するモジュールです。

与えられた文字列の短縮形を生成するモジュールです。

=== 例

require 'abbrev'
require 'pp'

pp Abbrev.abbrev(%w[ruby rules]).sort
# => [["rub", "ruby"],
# ["ruby", "ruby"],
# ["rul", "rules"],
# ["rule", "rules"],
# ["rules", "rules"]]

Integer#to_bn -> OpenSSL::BN (91.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...

Socket.getaddrinfo(nodename, servname, family=nil, socktype=nil, protocol=nil, flags=nil) -> Array (91.0)

2553で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。

2553で定義された
getaddrinfo() の機能を提供するクラスメソッド。この関数は
gethostbyname() や getservbyname() の代わりとして用意されており、
IP のバージョンに依存しないプログラムを書くための標準的な API です。

@param nodename ホスト名を指定します。 必須引数です。 (lib:socket#host_formatを参照)

@param servname サービス名を指定します。 必須引数です。 (lib:socket#service_formatを参照)

@param family アドレスファミリー。Sock...

CSV.parse(str, options = Hash.new) -> Array (73.0)

このメソッドは文字列を簡単にパースすることができます。 ブロックを与えた場合は、ブロックにそれぞれの行を渡します。 ブロックを省略した場合は、配列の配列を返します。

このメソッドは文字列を簡単にパースすることができます。
ブロックを与えた場合は、ブロックにそれぞれの行を渡します。
ブロックを省略した場合は、配列の配列を返します。

@param str 文字列を指定します。

@param options CSV.new のオプションと同じオプションを指定できます。

//emlist[例][ruby]{
require 'csv'
require 'pp'

s = <<EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
EOS

pp CSV.parse(s)
# => ...

CSV.parse(str, options = Hash.new) {|row| ... } -> nil (73.0)

このメソッドは文字列を簡単にパースすることができます。 ブロックを与えた場合は、ブロックにそれぞれの行を渡します。 ブロックを省略した場合は、配列の配列を返します。

このメソッドは文字列を簡単にパースすることができます。
ブロックを与えた場合は、ブロックにそれぞれの行を渡します。
ブロックを省略した場合は、配列の配列を返します。

@param str 文字列を指定します。

@param options CSV.new のオプションと同じオプションを指定できます。

//emlist[例][ruby]{
require 'csv'
require 'pp'

s = <<EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
EOS

pp CSV.parse(s)
# => ...

絞り込み条件を変える

CSV.read(path, options = Hash.new) -> [Array] | CSV::Table (73.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 (73.0)

CSV ファイルを配列の配列にするために使います。 headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。

CSV ファイルを配列の配列にするために使います。
headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。

@param path CSV ファイルのパスを指定します。

@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると入力のエンコーディングを指定することができます。
入力のエンコーディングか Encoding.default_external と異なる場合は
必ず指定...

Enumerable#slice_before {|elt| bool } -> Enumerator (73.0)

パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。

パターンがマッチした要素、もしくはブロックが真を返した要素から
次にマッチする手前までを
チャンク化(グループ化)したものを繰り返す Enumerator を
返します。

パターンを渡した場合は各要素に対し === が呼び出され、
それが真になったところをチャンクの先頭と見なします。
ブロックを渡した場合は、各要素に対しブロックを適用し
返り値が真であった要素をチャンクの先頭と見なします。

より厳密にいうと、「先頭要素」の手前で分割していきます。
最初の要素の評価は無視されます。

各チャンクは配列として表現されます。

Enumerable#to_a や Enumerable#map ...

Enumerable#slice_before(pattern) -> Enumerator (73.0)

パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。

パターンがマッチした要素、もしくはブロックが真を返した要素から
次にマッチする手前までを
チャンク化(グループ化)したものを繰り返す Enumerator を
返します。

パターンを渡した場合は各要素に対し === が呼び出され、
それが真になったところをチャンクの先頭と見なします。
ブロックを渡した場合は、各要素に対しブロックを適用し
返り値が真であった要素をチャンクの先頭と見なします。

より厳密にいうと、「先頭要素」の手前で分割していきます。
最初の要素の評価は無視されます。

各チャンクは配列として表現されます。

Enumerable#to_a や Enumerable#map ...

rexml/parsers/ultralightparser (73.0)

パース結果を配列で作られた木構造により返すパーサ。

パース結果を配列で作られた木構造により返すパーサ。

REXML::Parsers::UltraLightParser.new でパーサオブジェクトを
生成し、REXML::Parsers::UltraLightParser#parse でパースし
その結果の木構造を返します。

===[a:nodes] ノードの表現
REXML::Parsers::UltraLightParser#parse が返す
XML の各ノードは配列で表現されます。
配列の最初の要素はシンボルでノードの種類を表わし、2番目以降の要素で
そのノードの情報を保持しています。
例えばテキストノードは [:text, テキ...

絞り込み条件を変える

Etc.#uname -> {Symbol => String} (55.0)

uname(2) で取得したシステム情報を Hash で返します。

uname(2) で取得したシステム情報を Hash で返します。

@return 少なくとも :sysname, :nodename, :release, :version, :machine の
5 つのキーを持つ Hash を返します。

//emlist[例][ruby]{
require 'etc'
require 'pp'

pp Etc.uname
# => {:sysname=>"Linux",
# :nodename=>"boron",
# :release=>"2.6.18-6-xen-686",
# :version=>"#1 ...

JSON::State#to_h -> Hash (55.0)

自身をハッシュに変換します。

自身をハッシュに変換します。

//emlist[例][ruby]{
require "json"
require "pp"

json_state = JSON::State.new
pp json_state.to_h

# => {:indent=>"",
# :space=>"",
# :space_before=>"",
# :object_nl=>"",
# :array_nl=>"",
# :allow_nan=>false,
# :ascii_only=>false,
# :max_nesting=>100,
# ...

JSON::State#to_hash -> Hash (55.0)

自身をハッシュに変換します。

自身をハッシュに変換します。

//emlist[例][ruby]{
require "json"
require "pp"

json_state = JSON::State.new
pp json_state.to_h

# => {:indent=>"",
# :space=>"",
# :space_before=>"",
# :object_nl=>"",
# :array_nl=>"",
# :allow_nan=>false,
# :ascii_only=>false,
# :max_nesting=>100,
# ...

Object::SCRIPT_LINES__ -> Hash (55.0)

ソースファイル別にまとめられたソースコードの各行。

ソースファイル別にまとめられたソースコードの各行。

この定数は、デフォルトでは定義されていません。
この定数がハッシュとして定義された後にソースがコンパイルされると、
そのソースファイル名をキーに、
ソースを行毎に分割した配列を値にしたハッシュ要素が設定されます。

この定数はデバッガ (debug) などで利用されています。

また、 Kernel.#eval によるコンパイルは対象にはなりません。


例:
require 'pp'
SCRIPT_LINES__ = {}
require 'English'
pp SCRIPT_LINES__

...

OpenSSL::ASN1.#decode(der) -> OpenSSL::ASN1::ASN1Data (55.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...

絞り込み条件を変える

OpenSSL::BN#<<(other) -> OpenSSL::BN (55.0)

自身を other ビット左シフトした値を返します。

自身を other ビット左シフトした値を返します。

//emlist[][ruby]{
bn = 1.to_bn
pp bn << 1 # => #<OpenSSL::BN 2>
pp bn # => #<OpenSSL::BN 1>
//}

@param other シフトするビット数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#lshift!

Pathname#entries -> [Pathname] (55.0)

self に含まれるファイルエントリ名を元にした Pathname オブジェクトの配列を返します。

self に含まれるファイルエントリ名を元にした Pathname オブジェクトの配列を返します。

@raise Errno::EXXX self が存在しないパスであったりディレクトリでなければ例外が発生します。

//emlist[例][ruby]{
require 'pathname'
require 'pp'

pp Pathname('/usr/local').entries
# => [#<Pathname:.>,
# #<Pathname:..>,
# #<Pathname:bin>,
# #<Pathname:etc>,
# #<Pathnam...

Rake::TaskManager#tasks -> Array (55.0)

全てのタスクリストを返します。

全てのタスクリストを返します。

//emlist[][ruby]{
# Rakefile での記載例とする
require 'pp'

task default: :test_rake_app2

task :test_rake_app1 do |task|
end

task :test_rake_app2 do |task|
pp task.application.tasks
# => [<Rake::Task default => [test_rake_app2]>,
# <Rake::Task test_rake_app1 => []>,
# <Rake...

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

Gem::Requirement.create(input) -> Gem::Requirement (37.0)

Gem::Requirement のインスタンスを作成するためのファクトリメソッドです。

Gem::Requirement のインスタンスを作成するためのファクトリメソッドです。

@param input 文字列か配列か Gem::Requirement, Gem::Version のインスタンス
のいずれかを指定します。

@return 上記以外の値を input に指定するとデフォルト値を返します。

//emlist[][ruby]{
pp Gem::Requirement.create("~> 3.2.1")
# => Gem::Requirement.new(["~> 3.2.1"])
//}

@see Gem::Requirement....

絞り込み条件を変える

Gem::Requirement.default -> Gem::Requirement (37.0)

ゼロ以上 ( '>= 0' ) を指定して作成された Gem::Requirement のインスタンスを返します。

ゼロ以上 ( '>= 0' ) を指定して作成された Gem::Requirement のインスタンスを返します。

//emlist[][ruby]{
pp Gem::Requirement.default
# => Gem::Requirement.new([">= 0"])
//}

Gem::Requirement.new(requirements) -> Gem::Requirement (37.0)

Gem::Requirement のインスタンスを作成します。

Gem::Requirement のインスタンスを作成します。

@param requirements 文字列か配列か Gem::Version のインスタンスを指定します。

//emlist[][ruby]{
pp Gem::Requirement.new("~> 3.2.1")
# => Gem::Requirement.new(["~> 3.2.1"])
//}

@see Gem::Requirement#parse, Gem::Requirement.create

Kernel#jj(*objects) -> nil (37.0)

与えられたオブジェクトを JSON 形式の文字列で標準出力に人間に読みやすく整形して出力します。

与えられたオブジェクトを JSON 形式の文字列で標準出力に人間に読みやすく整形して出力します。

@param objects JSON 形式で出力したいオブジェクトを指定します。

//emlist[例][ruby]{
require "json"

jj([1,2,{"name" => "tanaka","age" => 19}])
# => [
# 1,
# 2,
# {
# "name": "tanaka",
# "age": 19
# }
# ]
//}

@see Kernel.#pp