るりまサーチ (Ruby 2.3.0)

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

別のキーワード

  1. bigdecimal/util to_d
  2. float to_d
  3. rsa d
  4. rsa d=
  5. matrix d

検索結果

IPAddr#&(ipaddr) -> IPAddr (63904.0)

他の IPAddr オブジェクトとのビットごとの論理積により、 新しい IPAddr オブジェクトを生成します。

他の IPAddr オブジェクトとのビットごとの論理積により、
新しい IPAddr オブジェクトを生成します。

@param ipaddr 他の IPAddr オブジェクト。
また、数値や文字列も受け付けます。

Pathname#opendir -> Dir (18652.0)

Dir.open(self.to_s, &block) と同じです。

Dir.open(self.to_s, &block) と同じです。


@see Dir.open

Pathname#opendir {|dir| ... } -> nil (18652.0)

Dir.open(self.to_s, &block) と同じです。

Dir.open(self.to_s, &block) と同じです。


@see Dir.open

TSort#each_strongly_connected_component_from(node, id_map={}, stack=[]) -> Enumerator (18622.0)

node から到達可能な強連結成分についてのイテレータです。

node から到達可能な強連結成分についてのイテレータです。

返す値は規定されていません。

each_strongly_connected_component_from は
tsort_each_node を呼びません。

@param node ノードを指定します。

//emlist[例 到達可能なノードを表示する][ruby]{
require 'tsort'

class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node...

TSort#each_strongly_connected_component_from(node, id_map={}, stack=[]) {|nodes| ...} -> () (18622.0)

node から到達可能な強連結成分についてのイテレータです。

node から到達可能な強連結成分についてのイテレータです。

返す値は規定されていません。

each_strongly_connected_component_from は
tsort_each_node を呼びません。

@param node ノードを指定します。

//emlist[例 到達可能なノードを表示する][ruby]{
require 'tsort'

class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node...

絞り込み条件を変える

Shell#cd(path, &block) -> self (18610.0)

カレントディレクトリをpathにする. イテレータとして呼ばれたときには ブロック実行中のみカレントディレクトリを変更する.

カレントディレクトリをpathにする. イテレータとして呼ばれたときには
ブロック実行中のみカレントディレクトリを変更する.

@param path カレントディレクトリを文字列で指定します.

@param block path で指定したディレクトリで行う操作をブロックで指定します.

使用例
require 'shell'
sh = Shell.new
sh.transact {
cd("/tmp"){
p cwd #=> "/tmp"
}
p cwd #=> "/Users/kouya/rbmanual"
}

Shell#chdir(path, &block) -> self (18610.0)

カレントディレクトリをpathにする. イテレータとして呼ばれたときには ブロック実行中のみカレントディレクトリを変更する.

カレントディレクトリをpathにする. イテレータとして呼ばれたときには
ブロック実行中のみカレントディレクトリを変更する.

@param path カレントディレクトリを文字列で指定します.

@param block path で指定したディレクトリで行う操作をブロックで指定します.

使用例
require 'shell'
sh = Shell.new
sh.transact {
cd("/tmp"){
p cwd #=> "/tmp"
}
p cwd #=> "/Users/kouya/rbmanual"
}

Shell#pushd(path = nil, &block) -> object (18610.0)

カレントディレクトリをディレクトリスタックにつみ, カレントディレク トリをpathにする. pathが省略されたときには, カレントディレクトリと ディレクトリスタックのトップを交換する. イテレータとして呼ばれたと きには, ブロック実行中のみpushdする.

カレントディレクトリをディレクトリスタックにつみ, カレントディレク
トリをpathにする. pathが省略されたときには, カレントディレクトリと
ディレクトリスタックのトップを交換する. イテレータとして呼ばれたと
きには, ブロック実行中のみpushdする.

@param path カレントディレクトリをpathにする。文字列で指定します。

@param block イテレータとして呼ぶ場合, ブロックを指定します。

動作例
require 'shell'
Shell.verbose = false
sh = Shell.new
sh.pushd("/tmp"...

Shell#pushdir(path = nil, &block) -> object (18610.0)

カレントディレクトリをディレクトリスタックにつみ, カレントディレク トリをpathにする. pathが省略されたときには, カレントディレクトリと ディレクトリスタックのトップを交換する. イテレータとして呼ばれたと きには, ブロック実行中のみpushdする.

カレントディレクトリをディレクトリスタックにつみ, カレントディレク
トリをpathにする. pathが省略されたときには, カレントディレクトリと
ディレクトリスタックのトップを交換する. イテレータとして呼ばれたと
きには, ブロック実行中のみpushdする.

@param path カレントディレクトリをpathにする。文字列で指定します。

@param block イテレータとして呼ぶ場合, ブロックを指定します。

動作例
require 'shell'
Shell.verbose = false
sh = Shell.new
sh.pushd("/tmp"...

IRB::ExtendCommandBundle#irb_load(*opts, &b) -> nil (18607.0)

現在の irb に関する IRB::Context に対して irb_load コマンドを実行 します。

現在の irb に関する IRB::Context に対して irb_load コマンドを実行
します。

@see IRB::ExtendCommand::Load#execute

絞り込み条件を変える

OptionParser#on_head(*arg, &block) -> self (18607.0)

オプションを取り扱うためのブロックを自身の持つリストの最初に登録します。

オプションを取り扱うためのブロックを自身の持つリストの最初に登録します。

@param arg OptionParser#on と同様です。

@param block OptionParser#on と同様です。

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

opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tail("-h", "--help")
end

puts opts.help

# => ...

Syslog::Logger#add(severity, message = nil, progname = nil, &block) -> true (18607.0)

メッセージをログに記録します。Logger#add とほぼ同じ動作をします。

メッセージをログに記録します。Logger#add とほぼ同じ動作をします。

ブロックを与えた場合はブロックを評価した返り値をメッセージとしてログに
記録します。 ユーザがこのメソッドを直接使うことはあまりありません。

@param severity ログレベル。Logger クラスで定義されている定数を指定しま
す。この値がレシーバーに設定されているレベルよりも低い
場合、メッセージは記録されません。

@param message ログに出力するメッセージを表すオブジェクトを指定します。
省...

Syslog::Logger#debug(message = nil, &block) -> true (18607.0)

DEBUG 情報を出力します。syslog の DEBUG の情報として記録されます。

DEBUG 情報を出力します。syslog の DEBUG の情報として記録されます。

ブロックを与えなかった場合は、message をメッセージとしてログを出力します。

ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。

引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。

@see Syslog::Logger::LEVEL_MAP, Logger#debug

Net::HTTPHeader#set_form_data(params, sep = '&') -> () (18604.0)

HTMLのフォームのデータ params から ヘッダフィールドとボディを設定します。

HTMLのフォームのデータ params から
ヘッダフィールドとボディを設定します。

ヘッダフィールド Content-Type: には
'application/x-www-form-urlencoded' が設定されます。

@param params HTML のフォームデータの Hash を与えます。
@param sep データのセパレータを文字列で与えます。

//emlist[例 form_data][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/index.html')
req = Ne...

Proc#lambda? -> bool (18412.0)

手続きオブジェクトの引数の取扱が厳密であるならば true を返します。

手続きオブジェクトの引数の取扱が厳密であるならば true を返します。


引数の取扱の厳密さの意味は以下の例を参考にしてください。

//emlist[例][ruby]{
# lambda で生成した Proc オブジェクトでは true
lambda{}.lambda? # => true
# proc で生成した Proc オブジェクトでは false
proc{}.lambda? # => false
# Proc.new で生成した Proc オブジェクトでは false
Proc.new{}.lambda? # => false

# 以下、lambda?が偽である場合
#...

絞り込み条件を変える

TSort#each_strongly_connected_component -> Enumerator (18322.0)

TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。

TSort#strongly_connected_components メソッドのイテレータ版です。
obj.each_strongly_connected_component は
obj.strongly_connected_components.each に似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。

each_strongly_connected_component は nil を返します。

//emlist[使用例][ruby]{
require 'tsort'

class Hash
include TSort
a...

TSort#each_strongly_connected_component {|nodes| ...} -> nil (18322.0)

TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。

TSort#strongly_connected_components メソッドのイテレータ版です。
obj.each_strongly_connected_component は
obj.strongly_connected_components.each に似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。

each_strongly_connected_component は nil を返します。

//emlist[使用例][ruby]{
require 'tsort'

class Hash
include TSort
a...

TSort#strongly_connected_components -> Array (18322.0)

強連結成分の集まりを配列の配列として返します。 この配列は子から親に向かってソートされています。 各要素は強連結成分を表す配列です。

強連結成分の集まりを配列の配列として返します。
この配列は子から親に向かってソートされています。
各要素は強連結成分を表す配列です。

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

non_sort = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}

p non_sor...

URI::MailTo#headers -> [[String]] (18322.0)

自身のヘッダーを文字列の配列の配列として設定します。

自身のヘッダーを文字列の配列の配列として設定します。

例:
require 'uri'
m = URI.parse("mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr")
p m.headers #=> [["subject", "subscribe"], ["cc", "myaddr"]]

Shell::CommandProcessor#out(dev = STDOUT, &block) -> () (9607.0)

Shell#transact を呼び出しその結果を dev に出力します。

Shell#transact を呼び出しその結果を dev に出力します。

@param dev 出力先をIO オブジェクトなどで指定します。

@param block transact 内部で実行するシェルを指定します。


使用例:
require 'shell'
Shell.def_system_command("head")
sh = Shell.new
File.open("out.txt", "w"){ |fp|
sh.out(fp) {
system("ls", "-l") | head("-n 3")
}
}

絞り込み条件を変える

Fiddle::Pointer#-@ -> Fiddle::Pointer (9352.0)

自身を指す Pointer オブジェクトを返します。 C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。

自身を指す Pointer オブジェクトを返します。
C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。

この返り値には、free 関数がセットされず、size は 0 とされます。

例:

require 'fiddle'

s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
p cref.ptr.to_s ...

Fiddle::Pointer#ref -> Fiddle::Pointer (9352.0)

自身を指す Pointer オブジェクトを返します。 C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。

自身を指す Pointer オブジェクトを返します。
C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。

この返り値には、free 関数がセットされず、size は 0 とされます。

例:

require 'fiddle'

s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
p cref.ptr.to_s ...

OpenURI::OpenRead#open(mode = 'r', perm = nil, options = {}) -> StringIO (9352.0)

自身が表すリソースを取得して StringIO オブジェクトとして返します。 OpenURI.open_uri(self, *rest, &block) と同じです。

自身が表すリソースを取得して StringIO オブジェクトとして返します。
OpenURI.open_uri(self, *rest, &block) と同じです。

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

返り値である StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。

@param mode モードを文字列で与えます。Kernel.#open と同じです。

@param perm 無視されます...

OpenURI::OpenRead#open(mode = 'r', perm = nil, options = {}) {|sio| ... } -> nil (9352.0)

自身が表すリソースを取得して StringIO オブジェクトとして返します。 OpenURI.open_uri(self, *rest, &block) と同じです。

自身が表すリソースを取得して StringIO オブジェクトとして返します。
OpenURI.open_uri(self, *rest, &block) と同じです。

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

返り値である StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。

@param mode モードを文字列で与えます。Kernel.#open と同じです。

@param perm 無視されます...

Psych::Handler#scalar(value, anchor, tag, plain, quoted, style) -> () (9322.0)

スカラー値を見付けたときに呼び出されます。

スカラー値を見付けたときに呼び出されます。

value にはスカラー値の文字列が渡されます。

anchor にはスカラー値に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。

tag にはスカラー値に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。

plain は plain style であるかどうか、quoted は quoted style であるかどうか
が渡されます。style には node の style が整数値で渡されます。
style は次の値のいずれか...

絞り込み条件を変える

IRB::ExtendCommandBundle#irb_require(*opts, &b) -> bool (9307.0)

現在の irb に関する IRB::Context に対して irb_require コマンドを 実行します。

現在の irb に関する IRB::Context に対して irb_require コマンドを
実行します。

@see IRB::ExtendCommand::Require#execute

Shell::CommandProcessor#foreach(path = nil, &block) -> () (9307.0)

pathがファイルなら, File#foreach pathがディレクトリなら, Dir#foreach の動作をします。

pathがファイルなら, File#foreach
pathがディレクトリなら, Dir#foreach
の動作をします。

@param path ファイルもしくはディレクトリのパスを文字列で指定します。

使用例
require 'shell'
Shell.verbose = false
sh = Shell.new
sh.foreach("/tmp"){|f|
puts f
}

Method#arity -> Integer (9040.0)

メソッドが受け付ける引数の数を返します。

メソッドが受け付ける引数の数を返します。

ただし、メソッドが可変長引数を受け付ける場合、負の整数

-(必要とされる引数の数 + 1)

を返します。C 言語レベルで実装されたメソッドが可変長引数を
受け付ける場合、-1 を返します。

//emlist[例][ruby]{
class C
def u; end
def v(a); end
def w(*a); end
def x(a, b); end
def y(a, b, *c); end
def z(a, b, *...

Method#parameters -> [object] (9040.0)

Method オブジェクトの引数の情報を返します。

Method オブジェクトの引数の情報を返します。

Method オブジェクトが引数を取らなければ空の配列を返します。引数を取る場合は、配列の配列を返し、
各配列の要素は引数の種類に応じた以下のような Symbol と、仮引数の名前を表す Symbol の 2 要素です。
組み込みのメソッドでは、仮引数の名前が取れません。

: :req
必須の引数
: :opt
デフォルト値が指定されたオプショナルな引数
: :rest
* で指定された残りすべての引数
: :keyreq
必須のキーワード引数
: :key
デフォルト値が指定されたオプショナルなキーワード引数
: :keyre...

Psych::Handler#alias(anchor) -> () (9040.0)

anchor という名前の alias を見付けたときに呼び出されます。

anchor という名前の alias を見付けたときに呼び出されます。

必要に応じてこのメソッドを override してください。

@param anchor aliasのアンカー文字列

=== 例

以下の YAMLドキュメントは自分自身への参照を持つ配列を表しています。

--- &ponies
- first element
- *ponies

この &ponies が anchor で *ponies が alias です。この場合、
alias メソッドは "poines" という引数で呼び出されます。

絞り込み条件を変える

UnboundMethod#arity -> Integer (9040.0)

メソッドが受け付ける引数の数を返します。

メソッドが受け付ける引数の数を返します。

ただし、メソッドが可変長引数を受け付ける場合、負の整数
-(必要とされる引数の数 + 1)
を返します。C 言語レベルで実装されたメソッドが可変長引数を
受け付ける場合、-1 を返します。

//emlist[例][ruby]{
class C
def one; end
def two(a); end
def three(*a); end
def four(a, b); end
def five(a, b, *c); end
def six(a, b, *c, &d); end
end

p C.insta...

Psych::Handler#start_mapping(anchor, tag, implicit, style) -> () (9022.0)

mapping の開始を見付けたときに呼び出されます。

mapping の開始を見付けたときに呼び出されます。

anchor には map に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。

tag には map に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。

implicit には map が implicit に開始されたかどうかが
真偽値で渡されます。

style には sequence の style が整数値で渡されます。以下のいずれか
です。
* Psych::Nodes::Mapping::BLOCK
...

Psych::Handler#start_sequence(anchor, tag, implicit, style) -> () (9022.0)

sequence の開始を見付けたときに呼び出されます。

sequence の開始を見付けたときに呼び出されます。

anchor には sequence に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。

tag には sequence に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。

implicit には sequence が implicit に開始されたかどうかが
真偽値で渡されます。

style には sequence の style が整数値で渡されます。以下のいずれか
です。
* Psych::Nodes:...

Shell#out(dev = STDOUT, &block) -> () (607.0)

Shell#transact を呼び出しその結果を dev に出力します。

Shell#transact を呼び出しその結果を dev に出力します。

@param dev 出力先をIO オブジェクトなどで指定します。

@param block transact 内部で実行するシェルを指定します。


使用例:
require 'shell'
Shell.def_system_command("head")
sh = Shell.new
File.open("out.txt", "w"){ |fp|
sh.out(fp) {
system("ls", "-l") | head("-n 3")
}
}

Shell::Filter#out(dev = STDOUT, &block) -> () (607.0)

Shell#transact を呼び出しその結果を dev に出力します。

Shell#transact を呼び出しその結果を dev に出力します。

@param dev 出力先をIO オブジェクトなどで指定します。

@param block transact 内部で実行するシェルを指定します。


使用例:
require 'shell'
Shell.def_system_command("head")
sh = Shell.new
File.open("out.txt", "w"){ |fp|
sh.out(fp) {
system("ls", "-l") | head("-n 3")
}
}

絞り込み条件を変える

Net::HTTP#post(path, data, header = nil, dest = nil) -> Net::HTTPResponse (358.0)

サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。

サーバ上の path にあるエンティティに対し文字列 data を
POST で送ります。

返り値は Net::HTTPResponse のインスタンスです。

ブロックと一緒に呼びだされたときはエンティティボディを少しずつ文字列として
ブロックに与えます。このとき戻り値の HTTPResponse オブジェクトは有効な body を
持ちません。

POST する場合にはヘッダに Content-Type: を指定する必要があります。
もし header に指定しなかったならば、 Content-Type として
"application/x-www-form-urlencoded" を...

Net::HTTP#post(path, data, header = nil, dest = nil) {|body_segment| .... } -> Net::HTTPResponse (358.0)

サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。

サーバ上の path にあるエンティティに対し文字列 data を
POST で送ります。

返り値は Net::HTTPResponse のインスタンスです。

ブロックと一緒に呼びだされたときはエンティティボディを少しずつ文字列として
ブロックに与えます。このとき戻り値の HTTPResponse オブジェクトは有効な body を
持ちません。

POST する場合にはヘッダに Content-Type: を指定する必要があります。
もし header に指定しなかったならば、 Content-Type として
"application/x-www-form-urlencoded" を...

TSort#tsort_each {|node| ...} -> nil (358.0)

TSort#tsort メソッドのイテレータ版です。 obj.tsort_each は obj.tsort.each と似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。

TSort#tsort メソッドのイテレータ版です。
obj.tsort_each は obj.tsort.each と似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。

tsort_each は nil を返します。
閉路が存在するとき、例外 TSort::Cyclic を起こします。

@raise TSort::Cyclic 閉路が存在するとき、発生します.

//emlist[使用例][ruby]{
require 'tsort'

class Hash
include TSort
alias tsort_each_node...

Pathname#open(mode = 'r', perm = 0666) -> File (352.0)

File.open(self.to_s, *args, &block) と同じです。

File.open(self.to_s, *args, &block) と同じです。


@see File.open

Pathname#open(mode = 'r', perm = 0666) {|file| ... } -> object (352.0)

File.open(self.to_s, *args, &block) と同じです。

File.open(self.to_s, *args, &block) と同じです。


@see File.open

絞り込み条件を変える

Array#pack(template) -> String (202.0)

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。

テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。


@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。


以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができま...

String#unpack(template) -> Array (202.0)

Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。

Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。

@param template pack テンプレート文字列
@return オブジェクトの配列


以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。

長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のよう...

TSort#tsort_each -> Enumerator (58.0)

TSort#tsort メソッドのイテレータ版です。 obj.tsort_each は obj.tsort.each と似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。

TSort#tsort メソッドのイテレータ版です。
obj.tsort_each は obj.tsort.each と似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。

tsort_each は nil を返します。
閉路が存在するとき、例外 TSort::Cyclic を起こします。

@raise TSort::Cyclic 閉路が存在するとき、発生します.

//emlist[使用例][ruby]{
require 'tsort'

class Hash
include TSort
alias tsort_each_node...

Symbol#to_proc -> Proc (40.0)

self に対応する Proc オブジェクトを返します。

self に対応する Proc オブジェクトを返します。

生成される Proc オブジェクトを呼びだす(Proc#call)と、
Proc#callの第一引数をレシーバとして、 self という名前のメソッドを
残りの引数を渡して呼びだします。


//emlist[明示的に呼ぶ例][ruby]{
:to_i.to_proc["ff", 16] # => 255 ← "ff".to_i(16)と同じ
//}

//emlist[暗黙に呼ばれる例][ruby]{
# メソッドに & とともにシンボルを渡すと
# to_proc が呼ばれて Proc 化され、
# それがブロックとして渡される...