種類
- 文書 (89)
- モジュール関数 (85)
- インスタンスメソッド (36)
- クラス (24)
- 特異メソッド (24)
ライブラリ
- ビルトイン (133)
-
irb
/ context (12) -
irb
/ inspector (12) -
shell
/ command-processor (6) -
shell
/ process-controller (6)
クラス
-
IRB
:: Inspector (12) - Object (24)
-
Shell
:: CommandProcessor (6) -
Shell
:: ProcessController (6) - Symbol (12)
モジュール
- Kernel (85)
キーワード
- Context (12)
- Marshal フォーマット (12)
-
NEWS for Ruby 3
. 0 . 0 (5) - Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (12)
- Ruby用語集 (12)
-
at
_ exit (12) -
def
_ inspector (12) -
each
_ active _ object (6) -
install
_ system _ commands (6) - lambda (18)
- proc (19)
-
ruby 1
. 6 feature (12) - send (24)
-
to
_ proc (12) -
trace
_ var (36) - クラス/メソッドの定義 (12)
- メソッド呼び出し(super・ブロック付き・yield) (12)
- 手続きオブジェクトの挙動の詳細 (12)
検索結果
先頭5件
-
Kernel
. # lambda { . . . } -> Proc (372.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
...与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトと......までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しない proc は、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)
が発生します。
@raise ArgumentError スタック上にブロックがないのにブロ......与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
また、lambda に & 引数を渡すのは推奨されません。& 引数ではなくてブロック記法で記述する必要があ......deprecated; use the proc without lambda instead」
を出力します。
@raise ArgumentError ブロックを省略した呼び出しを行ったときに発生します。
//emlist[例][ruby]{
def foo &block
lambda(&block)
end
it = foo{p 12}
it.call #=> 12
//}
@see Proc,Proc.new
===[a:should......では Proc#call)
へジャンプし値を返すには next を使います。break や return ではありません。
//emlist[例][ruby]{
def foo
f = Proc.new{
next 1
2 # この行に到達することはない
}
end
p foo().call #=> 1
//}
===[a:block] Proc オ......deprecated; use the proc without lambda instead」
を出力します。
@raise ArgumentError ブロックを省略した呼び出しを行ったときに発生します。
//emlist[例][ruby]{
def foo &block
proc(&block)
end
it = foo{p 12}
it.call #=> 12
//}
@see Proc,Proc.new
===[a:should_... -
クラス/メソッドの定義 (328.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
...が手続きオブジェクト(Proc)としてこの引数に格納されます。これは、
イテレータを定義する方法の一つです。イテレータを定義する代表的な方法は
yield を呼び出すことです。
他に Proc.new/Kernel.#proc を使う方法などもありま......ブロック引数の値はnilです。
//emlist[例][ruby]{
def foo(cnt, &block_arg)
cnt.times { block_arg.call } # ブロックに収まったProcオブジェクトはcallで実行
end
foo(3) { print "Ruby! " } #=> Ruby! Ruby! Ruby!
//}
メソッド定義において、仮引数はその種類......blk: #<Proc:0x007f7e7d8dd6c0@-:16>
//}
//emlist[例: イテレータの定義][ruby]{
# yield を使う
def foo
# block_given? は、メソッドがブロックを渡されて
# 呼ばれたかどうかを判定する組み込み関数
if block_given?
yield(1,2)
end
end
# Proc.new を... -
メソッド呼び出し(super・ブロック付き・yield) (228.0)
-
メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg * numbered_parameters * call_method
...,3,4,5,6)
//}
と同じです。
最後の引数の直前に & がついている場合、その引数で指定した手続き
オブジェクト(Proc)やメソッドオブジェクト(Method)がブロック
としてメソッドに渡されます。詳細は block を参照してください。......g2, ...) do [`|' 式 ... `|'] 式 ... end
method(arg1, arg2, ...) `{' [`|' 式 ... `|'] 式 ... `}'
method(arg1, arg2, ..., `&' proc_object)
ブロック付きメソッドとは制御構造の抽象化のために用いられる
メソッドです。最初はループの抽象......それを実現するのが手続きオブジェクト(Proc)です。
それをブロックとして渡すにはブロック付きメソッドの最後の引数として `&' で修飾した手続きオブジェクトを渡
します。Proc の代わりにメソッドオブジェクト(Method)を渡... -
Kernel
. # trace _ var(varname , hook) -> [String|Proc] (125.0) -
グローバル変数 varname への代入のフックを登録します。
...出し以降、varname で指定したグローバル変数に
値が代入されるたびに hook かブロックが評価されます。hook が Proc オブジェクトの場合
代入された値がブロック引数に渡されます。文字列の場合はRubyコードとして評価されま......ブロックで登録されていれば
Proc オブジェクトで返されます)
それ以外は、nil を返します。
@param varname グローバル変数名を文字列か Symbol で指定します。
@param hook フックになる文字列または Proc オブジェクトです。
@return... -
Kernel
. # at _ exit { . . . } -> Proc (113.0) -
与えられたブロックをインタプリタ終了時に実行します。
...等です。登録した処理を取り消すことはできません。
spec/terminateも参照してください。
@return 登録した処理を Proc オブジェクトで返します。
//emlist[例][ruby]{
3.times do |i|
at_exit{puts "at_exit#{i}"}
end
END{puts "END"}
at_exit{puts "at_exit"... -
NEWS for Ruby 3
. 0 . 0 (60.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ror or different behavior. 14183
* Procs accepting a single rest argument and keywords are no longer
subject to autosplatting. This now matches the behavior of Procs
accepting a single rest argument and no keywords.
16166
//emlist[][ruby]{
pr = proc{|*a, **kw| [a, kw]}
pr.call([1])......`# frozen-string-literal: true` is used. 17104
* Magic comment `shareable_constant_value` added to freeze constants.
See {Magic Comments}[rdoc-ref:doc/syntax/comments.rdoc@Magic+Comments] for more details.
17273
* A {static analysis}[rdoc-label:label-Static+analysis] foundation is
in......be compatible for essentially all usages and avoids blocking when using a scheduler. 16792
* Proc
* Proc#== and Proc#eql? are now defined and will return true for separate Proc instances if the procs were created from the same block. 14267
* Queue / SizedQueue
* Queue#pop, SizedQueue#pu... -
Marshal フォーマット (48.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...e => false, false => true, nil => nil}).unpack("x2 a c aa aa aa")
# => ["{", 8, "T", "F", "F", "T", "0", "0"]
//}
==== Hash with default value (not Proc)
'}' で始まるデータ構造になります。
//emlist{
| '}' | 要素数(Fixnum形式) | キーの dump | 値の dump | ... | デフォル......}", 6, "i", 15, "i", 25, "i", 0]
//}
==== Hash with default_proc
default_proc が設定されている Hash は dump できません。
//emlist[][ruby]{
h = Hash.new { }
Marshal.dump(h)
# => TypeError (can't dump hash with default proc)
//}
=== Struct
構造体クラスのインスタンスの... -
ruby 1
. 6 feature (36.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...d>))
サイズが 0 で中身のあるファイル(Linux の /proc ファイルシステムでこ
のような場合があります)が File#read などで読めないバグが修正されまし
た。
p File.open("/proc/#$$/cmdline").read
=> ruby 1.6.7 (2002-03-01) [i586-li......ameError)
from -:2
ruby 1.6.7 (2002-03-01) [i586-linux]
=> ruby 1.6.7 (2002-03-15) [i586-linux]
: 2002-03-13 ((<getopts>))
refine. ((<ruby-dev:16193>)), ((<ruby-dev:16213>))
: 2002-03-11 正規表現中の 8 進コード
正規表現中の \nnn による 8 進記法......くなりました。((<ruby-bugs-ja:PR#205>))
* ((<Enumerable/each_with_index>)) が self を返すようになった(以前は nil)
* ((<Process/Process.setpgrp>)) が返す値が不定だった。
* ((<String/ljust>)), ((<String/rjust>)), ((<String/center>)) の結果に
変化がな... -
Kernel
. # trace _ var(varname) {|new _ val| . . . . } -> nil (25.0) -
グローバル変数 varname への代入のフックを登録します。
...出し以降、varname で指定したグローバル変数に
値が代入されるたびに hook かブロックが評価されます。hook が Proc オブジェクトの場合
代入された値がブロック引数に渡されます。文字列の場合はRubyコードとして評価されま......ブロックで登録されていれば
Proc オブジェクトで返されます)
それ以外は、nil を返します。
@param varname グローバル変数名を文字列か Symbol で指定します。
@param hook フックになる文字列または Proc オブジェクトです。
@return... -
Kernel
. # trace _ var(varname , hook) -> nil (25.0) -
グローバル変数 varname への代入のフックを登録します。
...出し以降、varname で指定したグローバル変数に
値が代入されるたびに hook かブロックが評価されます。hook が Proc オブジェクトの場合
代入された値がブロック引数に渡されます。文字列の場合はRubyコードとして評価されま......ブロックで登録されていれば
Proc オブジェクトで返されます)
それ以外は、nil を返します。
@param varname グローバル変数名を文字列か Symbol で指定します。
@param hook フックになる文字列または Proc オブジェクトです。
@return...