るりまサーチ (Ruby 2.1.0)

最速Rubyリファレンスマニュアル検索!
62件ヒット [1-62件を表示] (0.108秒)

別のキーワード

  1. _builtin to_proc
  2. _builtin proc
  3. proc curry
  4. httpserver mount_proc
  5. readline completion_proc

モジュール

オブジェクト

検索結果

Proc.new -> Proc (63472.0)

ブロックをコンテキストとともにオブジェクト化して返します。

ブロックをコンテキストとともにオブジェクト化して返します。

ブロックを指定しない場合、Ruby 2.7 では
$VERBOSE = true のときには警告メッセージ
「warning: Capturing the given block using Proc.new is deprecated; use `&block` instead」
が出力され、Ruby 3.0 では
ArgumentError (tried to create Proc object without a block)
が発生します。

ブロックを指定しなければ、このメソッドを呼び出したメソッドが
ブロックを伴うと...

Proc.new { ... } -> Proc (63472.0)

ブロックをコンテキストとともにオブジェクト化して返します。

ブロックをコンテキストとともにオブジェクト化して返します。

ブロックを指定しない場合、Ruby 2.7 では
$VERBOSE = true のときには警告メッセージ
「warning: Capturing the given block using Proc.new is deprecated; use `&block` instead」
が出力され、Ruby 3.0 では
ArgumentError (tried to create Proc object without a block)
が発生します。

ブロックを指定しなければ、このメソッドを呼び出したメソッドが
ブロックを伴うと...

Shell::ProcessController.active_process_controllers -> () (27304.0)

@todo

@todo

Shell::ProcessController.process_controllers_exclusive -> () (27304.0)

@todo

@todo

Shell::ProcessController.wait_to_finish_all_process_controllers -> () (27304.0)

@todo

@todo

絞り込み条件を変える

Readline.completion_proc=(proc) (18880.0)

ユーザからの入力を補完する時の候補を取得する Proc オブジェクト proc を指定します。 proc は、次のものを想定しています。 (1) callメソッドを持つ。callメソッドを持たない場合、例外 ArgumentError を発生します。 (2) 引数にユーザからの入力文字列を取る。 (3) 候補の文字列の配列を返す。

ユーザからの入力を補完する時の候補を取得する Proc オブジェクト
proc を指定します。
proc は、次のものを想定しています。
(1) callメソッドを持つ。callメソッドを持たない場合、例外 ArgumentError を発生します。
(2) 引数にユーザからの入力文字列を取る。
(3) 候補の文字列の配列を返す。

「/var/lib /v」の後で補完を行うと、
デフォルトでは proc の引数に「/v」が渡されます。
このように、ユーザが入力した文字列を
Readline.completer_word_break_characters に含まれる文字で区切った...

Readline.completion_proc -> Proc (18724.0)

ユーザからの入力を補完する時の候補を取得する Proc オブジェクト proc を取得します。

ユーザからの入力を補完する時の候補を取得する Proc オブジェクト
proc を取得します。

@see Readline.completion_proc=

Tracer.set_get_line_procs(filename, proc) (18625.0)

あるファイルについて利用する、行番号からソースのその行の内容を返す 手続きを指定します。何も指定しなければデフォルトの動作が利用されます。 指定する手続きは行番号を唯一の引数として呼び出されます。

あるファイルについて利用する、行番号からソースのその行の内容を返す
手続きを指定します。何も指定しなければデフォルトの動作が利用されます。
指定する手続きは行番号を唯一の引数として呼び出されます。

@param filename ソースファイルの場所を文字列で指定します。
@param proc 通常、文字列を返す手続きオブジェクトを指定します。

# 例 dummy.rb の3行目から6 行目のトレース出力に !! をつける
require 'tracer'

Tracer.set_get_line_procs('./dummy.rb'){|line|
str = "...

Tracer.set_get_line_procs(filename) {|line| .... } (18325.0)

あるファイルについて利用する、行番号からソースのその行の内容を返す 手続きを指定します。何も指定しなければデフォルトの動作が利用されます。 指定する手続きは行番号を唯一の引数として呼び出されます。

あるファイルについて利用する、行番号からソースのその行の内容を返す
手続きを指定します。何も指定しなければデフォルトの動作が利用されます。
指定する手続きは行番号を唯一の引数として呼び出されます。

@param filename ソースファイルの場所を文字列で指定します。
@param proc 通常、文字列を返す手続きオブジェクトを指定します。

# 例 dummy.rb の3行目から6 行目のトレース出力に !! をつける
require 'tracer'

Tracer.set_get_line_procs('./dummy.rb'){|line|
str = "...

Tracer.display_process_id -> bool (18304.0)

真ならば、プロセス ID を表示します。 デフォルトは、偽です。

真ならば、プロセス ID を表示します。
デフォルトは、偽です。

絞り込み条件を変える

Tracer.display_process_id=(flag) (18304.0)

プロセス ID を表示するかどうかを設定します。

プロセス ID を表示するかどうかを設定します。

@param flag プロセス ID を表示するならば、真を指定します。

Tracer.display_process_id? -> bool (18304.0)

真ならば、プロセス ID を表示します。 デフォルトは、偽です。

真ならば、プロセス ID を表示します。
デフォルトは、偽です。

WEBrick::HTTPServlet::ProcHandler.new(proc) -> WEBrick::HTTPServlet::ProcHandler (9661.0)

自身を初期化します。

自身を初期化します。

@param proc Proc オブジェクトを与えます。クライアントからのリクエストがあった時、
proc.call(request, response) のように呼び出されます。
request, response はそれぞれ WEBrick::HTTPRequest オブジェクトと
WEBrick::HTTPResponse オブジェクトです。

Process.abort -> () (9004.0)

関数 Kernel.#abort と同じです。

関数 Kernel.#abort と同じです。

@param message 終了時のメッセージを文字列で指定します。

Process.abort(message) -> () (9004.0)

関数 Kernel.#abort と同じです。

関数 Kernel.#abort と同じです。

@param message 終了時のメッセージを文字列で指定します。

絞り込み条件を変える

Process.exec(command, *args) -> () (9004.0)

カレントプロセスを与えられた外部コマンドで置き換えます。

カレントプロセスを与えられた外部コマンドで置き換えます。


=== 引数の解釈

引数が一つだけ与えられた場合、command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。

引数が複数与えられた場合、第 2 引数以降は command に直接渡され、
インタプリタから直接実行されます。

第 1 引数が 2 要素の配列の場合、第 1 要素の文字列が実際に起動する
プログラムのパスで、第 2 要素が「みせかけ...

Process.exit!(status = false) -> () (9004.0)

関数 Kernel.#exit! と同じです。

関数 Kernel.#exit! と同じです。

@param status 終了ステータスを boolean か整数で指定します。true の場合は成功を、false は失敗を意味します。

@see _exit(2)

Process.exit(status = true) -> () (9004.0)

プロセスを終了します。関数 Kernel.#exit と同じです。

プロセスを終了します。関数 Kernel.#exit と同じです。

@param status 終了ステータスを boolean か整数で指定します。true の場合は成功を、false は失敗を意味します。

@see exit(3)

Process.fork -> Integer | nil (9004.0)

子プロセスを生成します。関数 Kernel.#fork と同じです。

子プロセスを生成します。関数 Kernel.#fork と同じです。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

@see fork(2)

Process.fork { ... } -> Integer | nil (9004.0)

子プロセスを生成します。関数 Kernel.#fork と同じです。

子プロセスを生成します。関数 Kernel.#fork と同じです。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

@see fork(2)

絞り込み条件を変える

Process.spawn(cmd, *arg) -> Integer (9004.0)

関数 Kernel.#spawn と同じです。

関数 Kernel.#spawn と同じです。

@param cmd Kernel.#spawn と同じです。

@param arg Kernel.#spawn と同じです。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

Shell::CommandProcessor.add_delegate_command_to_shell(id) (9004.0)

@todo

@todo

Shell 自体を初期化する時に呼び出されるメソッドです。
ユーザが使用することはありません。

@param id メソッド名を指定します。

Shell::CommandProcessor.alias_command(alias, command, *opts) -> self (9004.0)

@todo

@todo

@param alias エイリアスの名前を指定します。

@param command コマンド名を指定します。

@param opts コマンドに与えるオプションを指定します。

@raise SyntaxError コマンドのエイリアス作成に失敗した時に発生します。

Shell::CommandProcessor.alias_command(alias, command, *opts) { ... } -> self (9004.0)

@todo

@todo

@param alias エイリアスの名前を指定します。

@param command コマンド名を指定します。

@param opts コマンドに与えるオプションを指定します。

@raise SyntaxError コマンドのエイリアス作成に失敗した時に発生します。

Shell::CommandProcessor.alias_map -> Hash (9004.0)

Shell::CommandProcessor.alias_command で定義したエイリアスの一覧を返します。

Shell::CommandProcessor.alias_command で定義したエイリアスの一覧を返します。

絞り込み条件を変える

Shell::CommandProcessor.def_builtin_commands(delegation_class, commands_specs) -> () (9004.0)

@todo

@todo

@param delegation_class 処理を委譲したいクラスかモジュールを指定します。

@param commands_specs コマンドの仕様を文字列の配列で指定します。
[[コマンド名, [引数1, 引数2, ...]], ...]

Shell::CommandProcessor.def_system_command(command, path = command) -> () (9004.0)

@todo

@todo

与えられたコマンドをメソッドとして定義します。

@param command 定義したいコマンドを指定します。

@param path command のパスを指定します。省略すると環境変数 PATH から command を探します。

Shell::CommandProcessor.initialize -> () (9004.0)

@todo

@todo

このクラスを初期化します。

Shell::CommandProcessor.install_builtin_commands -> () (9004.0)

ビルトインコマンドを定義します。

ビルトインコマンドを定義します。

Shell::CommandProcessor.install_system_commands(prefix = "sys_") -> () (9004.0)

全てのシステムコマンドをメソッドとして定義します。

全てのシステムコマンドをメソッドとして定義します。

既に定義されているコマンドを再定義することはありません。
デフォルトでは全てのコマンドに "sys_" というプレフィクスが付きます。
また、メソッド名として使用できない文字は全て "_" に置換してメソッドを定義します。
このメソッドの実行中に発生した例外は単に無視されます。

@param prefix プレフィクスを指定します。

絞り込み条件を変える

Shell::CommandProcessor.method_added(id) (9004.0)

@todo このクラスに定義されたメソッドを Shell にも定義するためのフックです。

@todo
このクラスに定義されたメソッドを Shell にも定義するためのフックです。

@param id メソッド名を指定します。

Shell::CommandProcessor.new(shell) (9004.0)

@todo

@todo

Shell::CommandProcessor.run_config -> () (9004.0)

ユーザのホームディレクトリに "~/.rb_shell" というファイルが存在すれば、それを Kernel.#load します。

ユーザのホームディレクトリに "~/.rb_shell" というファイルが存在すれば、それを Kernel.#load します。

存在しない時は何もしません。

Shell::CommandProcessor.unalias_command(alias) -> self (9004.0)

エイリアスを削除します。

エイリアスを削除します。

@param alias 削除したいエイリアスを指定します。

Shell::CommandProcessor.undef_system_command(command) -> self (9004.0)

与えられたコマンドを削除します。

与えられたコマンドを削除します。

@param command 削除したいコマンド名を指定します。

絞り込み条件を変える

Shell::ProcessController.activate(pc) -> () (9004.0)

@todo

@todo

Shell::ProcessController.block_output_synchronize { ... } -> () (9004.0)

@todo

@todo

Shell::ProcessController.each_active_object {|ref| ... } -> () (9004.0)

@todo

@todo

Shell::ProcessController.inactivate(pc) -> () (9004.0)

@todo

@todo

Shell::ProcessController.new(shell) (9004.0)

自身を初期化します。

自身を初期化します。

@param shell Shell のインスタンスを指定します。

絞り込み条件を変える

Tracer.add_filter(proc) (373.0)

トレース出力するかどうかを決定するフィルタを追加します。 何もフィルタを与えない場合はすべての行についてトレース情報が出力されます。 与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば トレースは出力されます。

トレース出力するかどうかを決定するフィルタを追加します。
何もフィルタを与えない場合はすべての行についてトレース情報が出力されます。
与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば
トレースは出力されます。



フィルタは複数追加でき、
そのうち一つでも偽を返すとトレースの出力は抑制されます。

@param proc トレース出力するかどうかを決定する手続きオブジェクトを指定します。
通常、true か falseを返す必要があります。

フィルタ手続きは引数として event, file, line, id, binding, klass の...

MiniTest::Spec.after(type = :each) { ... } -> Proc (307.0)

各テストの後に実行するブロックを登録します。

各テストの後に実行するブロックを登録します。

@param type :each を指定することができます。

@raise RuntimeError type に :each 以外を指定すると発生します。

MiniTest::Spec.before(type = :each) { ... } -> Proc (307.0)

各テストの前に実行するブロックを登録します。

各テストの前に実行するブロックを登録します。

@param type :each を指定することができます。

@raise RuntimeError type に :each 以外を指定すると発生します。

PTY.check(pid, raise = false) -> Process::Status | nil (304.0)

pid で指定された子プロセスの状態をチェックし、変化があれば変化したステータスを 返します。実行中、あるいは変化なしであれば nil を返します。

pid で指定された子プロセスの状態をチェックし、変化があれば変化したステータスを
返します。実行中、あるいは変化なしであれば nil を返します。

状態が変化した後、その状態を取得することは一回しかできない(くりかえし check を
呼んだら nil が返ってくる)ので注意してください。

状態が変化して、終了したか停止した場合、第二引数が偽であれば、
対応する Process::Status オブジェクトを返します。

@param pid チェックしたい子プロセスの PID を指定します。

@param raise 真を指定すると、子プロセスが終了または停止していた場合、
...

Shell.undef_system_command(command) -> Shell::CommandProcessor (304.0)

commandを削除します.

commandを削除します.

@param command 削除するコマンドの文字列を指定します。

動作例:
require 'shell'
Shell.def_system_command("ls")
# ls を定義
Shell.undef_system_command("ls")
# ls を 削除

sh = Shell.new
begin
sh.transact {
ls("-l").each {|l|
puts l
}
}
rescue NameError => err
puts ...

絞り込み条件を変える

WEBrick::HTTPProxyServer.new(config, default = WEBrick::Config::HTTP) -> WEBrick::HTTPProxyServer (184.0)

プロクシオブジェクトを生成して返します。

プロクシオブジェクトを生成して返します。

@param config 設定を保存したハッシュを指定します。
設定として有効なハッシュのキーとその値は WEBrick::HTTPServer.new と同じです。
それに加えて以下のキーが有効です。

: :ProxyAuthProc
プロクシ認証を行う Proc オブジェクトを指定します。この proc は
WEBrick::HTTPResponse オブジェクトと WEBrick::HTTPRequest オブジェクトを引数として
proc.call(req, res) ...

RubyVM::InstructionSequence.of(body) -> RubyVM::InstructionSequence (178.0)

引数 body で指定した Proc、Method オブジェクトを元に RubyVM::InstructionSequence オブジェクトを作成して返します。

引数 body で指定した Proc、Method オブジェクトを元に
RubyVM::InstructionSequence オブジェクトを作成して返します。

@param body Proc、Method オブジェクトを指定します。

例1:irb で実行した場合

# proc
> p = proc { num = 1 + 2 }
> RubyVM::InstructionSequence.of(p)
> # => <RubyVM::InstructionSequence:block in irb_binding@(irb)>

# method
> def ...

OpenURI.open_uri(name, mode = &#39;r&#39;, perm = nil, options = {}) -> StringIO (112.0)

URI である文字列 name のリソースを取得して StringIO オブジェクト として返します。

URI である文字列 name のリソースを取得して StringIO オブジェクト
として返します。

ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。

require 'open-uri'
sio = OpenURI.open_uri('http://www.example.com')
p sio.last_modified
puts sio.read

OpenURI.open_uri('http://www.example.com'){|...

OpenURI.open_uri(name, mode = &#39;r&#39;, perm = nil, options = {}) {|sio| ... } -> nil (112.0)

URI である文字列 name のリソースを取得して StringIO オブジェクト として返します。

URI である文字列 name のリソースを取得して StringIO オブジェクト
として返します。

ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。

require 'open-uri'
sio = OpenURI.open_uri('http://www.example.com')
p sio.last_modified
puts sio.read

OpenURI.open_uri('http://www.example.com'){|...

RubyVM::InstructionSequence.disasm(body) -> String (94.0)

引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。

引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。

@param body Proc、Method オブジェクトを指定します。

例1:Proc オブジェクトを指定した場合

# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)

出力:

== disasm: <RubyVM::InstructionSequence:block in <main...

絞り込み条件を変える

RubyVM::InstructionSequence.disassemble(body) -> String (94.0)

引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。

引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。

@param body Proc、Method オブジェクトを指定します。

例1:Proc オブジェクトを指定した場合

# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)

出力:

== disasm: <RubyVM::InstructionSequence:block in <main...

Tracer.add_filter {|event, file, line, id, binding, klass| .... } (73.0)

トレース出力するかどうかを決定するフィルタを追加します。 何もフィルタを与えない場合はすべての行についてトレース情報が出力されます。 与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば トレースは出力されます。

トレース出力するかどうかを決定するフィルタを追加します。
何もフィルタを与えない場合はすべての行についてトレース情報が出力されます。
与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば
トレースは出力されます。



フィルタは複数追加でき、
そのうち一つでも偽を返すとトレースの出力は抑制されます。

@param proc トレース出力するかどうかを決定する手続きオブジェクトを指定します。
通常、true か falseを返す必要があります。

フィルタ手続きは引数として event, file, line, id, binding, klass の...

Hash.new {|hash, key| ... } -> Hash (70.0)

空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値はHash#default_procで参照できます。

空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま
す。設定したデフォルト値はHash#default_procで参照できます。

値が設定されていないハッシュ要素を参照するとその都度ブロックを
実行し、その結果を返します。
ブロックにはそのハッシュとハッシュを参照したときのキーが渡されます。

@raise ArgumentError ブロックと通常引数を同時に与えると発生します。

//emlist[例][ruby]{
# ブロックではないデフォルト値は全部同一のオブジェクトなので、
# 破壊的変更によって他のキーに対応する値も変更されます。
h = Hash.new...

Enumerator.new(size=nil) {|y| ... } -> Enumerator (22.0)

Enumerator オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを 引数として実行されます。

Enumerator オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを
引数として実行されます。

生成された Enumerator オブジェクトに対して each を呼ぶと、この生成時に指定されたブロックを
実行し、Yielder オブジェクトに対して << メソッドが呼ばれるたびに、
each に渡されたブロックが繰り返されます。

new に渡されたブロックが終了した時点で each の繰り返しが終わります。
このときのブロックの返り値が each の返り値となります。

@param size 生成する Enumerator...

IRB.Inspector(inspect, init = nil) -> IRB::Inspector (22.0)

IRB::Inspector オブジェクトを生成します。

IRB::Inspector オブジェクトを生成します。

@param inspect 実行結果の出力のための手続きオブジェクトを指定します。

@param init inspect_mode の初期化のための手続きオブジェクトを指定します。
あらかじめ require が必要な場合などに、proc { require "foo" }
といった指定を行います。

絞り込み条件を変える

IRB::Inspector.def_inspector(key, arg = nil) { |v| ... } -> object (22.0)

新しい実行結果の出力方式を定義します。

新しい実行結果の出力方式を定義します。

@param key conf.inspect_mode や IRB.conf[:INSPECT_MODE] に指定するキー
オブジェクトを指定します。配列を指定した場合は配列中の要素全
てが対象になります。

@param arg ブロックを指定する場合には、inspect_mode の初期化のための手続
きオブジェクトを指定します。あらかじめ require が必要な場合
などに、proc { require "foo" } といった指定を行います。
...

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

WEBrick::HTTPServer.new(config = {}, default = WEBrick::Config::HTTP) -> WEBrick::HTTPServer (22.0)

HTTPServer オブジェクトを生成して返します。

HTTPServer オブジェクトを生成して返します。

@param config 設定を保存したハッシュを指定します。有効なキー(Symbol オブジェクト)と値は以下のとおりです。
: :RequestTimeout
どれだけの時間 クライアントからの入力を待つかを整数か Float で指定します。
単位は秒です。
: :HTTPVersion
使用する HTTP のバージョンです。WEBrick::HTTPVersion オブジェクトで指定します。デフォルトは 1.1 です。
: :AccessLog
アクセスログの出力先とフォーマットを [[io, format],...

main.define_method(name) { ... } -> Symbol (22.0)

インスタンスメソッド name を Object に定義します。

インスタンスメソッド name を Object に定義します。

ブロックを与えた場合、定義したメソッドの実行時にブロックが
Object インスタンスの上で BasicObject#instance_eval されます。

@param name String または Symbol を指定します。

@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。

@return メソッド名を表す Symbol を返します。

@raise TypeError method に同じクラス、サブ...

main.define_method(name, method) -> Symbol (22.0)

インスタンスメソッド name を Object に定義します。

インスタンスメソッド name を Object に定義します。

ブロックを与えた場合、定義したメソッドの実行時にブロックが
Object インスタンスの上で BasicObject#instance_eval されます。

@param name String または Symbol を指定します。

@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。

@return メソッド名を表す Symbol を返します。

@raise TypeError method に同じクラス、サブ...

絞り込み条件を変える

Hash.new(ifnone = nil) -> Hash (10.0)

空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。

空の新しいハッシュを生成します。ifnone はキーに対
応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。

ifnoneを省略した Hash.new は {} と同じです。

デフォルト値として、毎回同一のオブジェクトifnoneを返します。
それにより、一箇所のデフォルト値の変更が他の値のデフォルト値にも影響します。

//emlist[][ruby]{
h = Hash.new([])
h[0] << 0
h[1] << 1
p h.default #=> [0, 1]
//}

これを避けるには、破壊的でないメソッドで再代入する...

Enumerator.new(obj, method = :each, *args) -> Enumerator (7.0)

オブジェクト obj について、 each の代わりに method という 名前のメソッドを使って繰り返すオブジェクトを生成して返します。 args を指定すると、 method の呼び出し時に渡されます。

オブジェクト obj について、 each の代わりに method という
名前のメソッドを使って繰り返すオブジェクトを生成して返します。
args を指定すると、 method の呼び出し時に渡されます。

@param obj イテレータメソッドのレシーバとなるオブジェクト
@param method イテレータメソッドの名前を表すシンボルまたは文字列
@param args イテレータメソッドの呼び出しに渡す任意個の引数

//emlist[例][ruby]{
str = "xyz"

enum = Enumerator.new(str, :each_byte)
p enum.map...