別のキーワード
種類
- 文書 (94)
- インスタンスメソッド (60)
- モジュール関数 (37)
- ライブラリ (12)
- クラス (12)
クラス
- Method (12)
-
OpenSSL
:: SSL :: SSLContext (12) - PP (12)
- Proc (24)
モジュール
- Kernel (37)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (5) - Proc (12)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (12)
- irb (12)
- lambda? (12)
- parameters (12)
- proc (19)
-
renegotiation
_ cb= (12) -
ruby 1
. 9 feature (12) - seplist (12)
-
to
_ proc (12) - メソッド呼び出し(super・ブロック付き・yield) (12)
- 手続きオブジェクトの挙動の詳細 (12)
検索結果
-
NEWS for Ruby 3
. 0 . 0 (150.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...a=>1}] # and deprecation warning
# 3.0 => a=>1}, {}]
//}
* Arguments forwarding (`...`) now supports leading arguments.
16378
//emlist{
def method_missing(meth, ...)
send(:"do_#{meth}", ...)
end
//}
* Pattern matching (`case/in`) is no longer experimental. 17260
* One-line pattern......e, String => x, String => y, *post]
p pre #=> ["a", 1]
p x #=> "b"
p y #=> "c"
p post #=> [2, "d", "e", "f", 3]
end
//}
* Endless method definition is added. [EXPERIMENTAL]
16746
//emlist{
def square(x) = x * x
//}
* Interpolated String literals are no longer frozen when......* Kernel#eval when called with two arguments will use `"(eval)"` for `__FILE__` and `1` for `__LINE__` in the evaluated code. 4352
* Kernel#lambda now warns if called without a literal block. 15973
* Kernel.sleep invokes the scheduler hook `#kernel_sleep(...)` in a non-blocking execution... -
Proc (120.0)
-
ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。
...//emlist[LocalJumpError が発生します。][ruby]{
pr = Proc.new { break }
(1..5).each(&pr)
//}
===[a:lambda_proc] lambda と proc と Proc.new とイテレータの違い
Kernel.#lambda と Proc.new はどちらも Proc クラスのインスタンス(手続きオブジェクト)を生成し......ますが、
生成された手続きオブジェクトはいくつかの場面で挙動が異なります。 lambda の生成する手続きオブジェクトのほうが
よりメソッドに近い働きをするように設計されています。
Kernel.#proc は Proc.new と同じになりま......合、lambda では手続きオブジェクト自身を抜けますが、
Proc.new では手続きオブジェクトを囲むメソッドを抜けます。
//emlist[例][ruby]{
def test_proc
f = Proc.new { return :from_proc }
f.call
return :from_method
end
def test_lambda
f = lambda { retu... -
メソッド呼び出し(super・ブロック付き・yield) (82.0)
-
メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg * numbered_parameters * call_method
...メソッド呼び出し(super・ブロック付き・yield)
* super
* block
* yield
* block_arg
* numbered_parameters
* call_method
//emlist[例][ruby]{
foo.bar()
foo.bar
bar()
print "hello world\n"
print
Class.new
Class::new
//}
文法:
[式 `.'] 識別子 [`(' [[`*']......の引数の直前に & がついている場合、その引数で指定した手続き
オブジェクト(Proc)やメソッドオブジェクト(Method)がブロック
としてメソッドに渡されます。詳細は block を参照してください。
メソッド呼び出しの際、private......eld の戻り値になります。
====[a:block_arg] ブロックパラメータの挙動
メソッド呼び出しと挙動が異なります。
lambda でないブロックを呼び出したとき
* 引数の数が違ってもエラーになりません。
* 配列をひとつ渡したと... -
NEWS for Ruby 2
. 1 . 0 (66.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...めにキーワード引数 `exception: false` を受け付けるようになりました
* Kernel
* 追加: Kernel#singleton_method(Object#singleton_method)
* Module
* 追加: Module#using, which activates refinements of the specified module only
in the current class or module d......れば Q! と q! は long long 型を表します
* toplevel
* main.using はもはや実験的な機能ではありません。
The method activates refinements in the ancestors of the argument module to
support refinement inheritance by Module#include
=== 組み込みクラス......生させるようになりました。
* Proc
* Returning from lambda proc now always exits from the Proc, not from the
method where the lambda is created. Returning from non-lambda proc exits
from the method, same as the former behavior.
* String
* 以下のコードで... -
NEWS for Ruby 2
. 7 . 0 (60.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...rning: `_1' is reserved for numbered parameter; consider another name
[1].each { p _1 } # prints 0 instead of 1
==== ブロックなしの proc/lambda が deprecated
* ブロック付きで呼び出されたメソッドの中で、ブロックなしでProc.newやKernel#procを
呼び出す......い。
* ブロック付きで呼び出されたメソッドの中で、Kernel#lambdaをブロックなしで呼び出すと
例外が発生するようになりました。
//emlist[][ruby]{
def bar
lambda
end
bar { puts "Hello" } #=> tried to create Proc object without a block (ArgumentE......は Ruby 3.0 では verbose モードでなくても表示され、Ruby 3.2 で削除される
予定です。 16131
* Object#methodとModule#instance_methodがrefinementsを考慮するようになりました。 15373
=== コマンドラインオプション
==== 警告オプション... -
ruby 1
. 9 feature (54.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...: Hash#identical?
=== 2006-08-31
: Array#shuffle
: Array#shuffle!
追加
=== 2006-07-26
: __send
: __send!
追加
: invoke_method
: invoke_functional_method
削除
=== 2006-07-21
: Module#attr
オプショナル引数の assignable がなくなり、attr_reader 相当になりま......6-06-17
: BasicObject#invoke_method
: BasicObject#invoke_functional_method
追加
((<ruby-talk:197512>))
=== 2006-06-13
: IPsocket
: TCPsocket
: SOCKSsocket
: TCPserver
: UDPsocket
: UNIXsocket
: UNIXserver
削除
=== 2006-06-11
: __callee__ [new]
: __method__ [new]
((<URL:http://www......るようになりました
* obsolete 要素、実験要素除去
: 実験中だった meth -> { ... } という -> が除去されました (lambda のかわりの -> { ... } は残っています)
: 実験中だった ;; が除去されました
: いくらか obsolete な構文が除去... -
NEWS for Ruby 2
. 2 . 0 (42.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...くのシンボルがGC可能になりました
* Method
* 追加: Method#curry([arity]) はカリー化された Proc オブジェクトを返します
* 追加: Method#super_method はスーパクラスの同名のメソッドの Method オブジェクトを返します。
=== 組み......or は発生しなくなりました。
* ArgumentError is no longer raised when lambda Proc is passed as a
block, and the number of yielded arguments does not match the formal
arguments of the lambda, if just an array is yielded and its length
matches.
* Process
* Proce... -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (24.0)
-
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or plus minus ast slash hat sq period comma langl rangl eq tilde dollar at under lbrarbra lbra2rbra2 lbra3rbra3 dq colon ac backslash semicolon
...も 5 も真なので右の値を返す。
//}
: def xxx(&yyy) ・・ &がついた引数
メソッド定義のブロック引数。d:spec/def#methodを参照。
: xxx(&b)
Proc オブジェクトをブロックとして使う。d:spec/call#block を参照。
: xxx&.yyy
safe navigation oper......類似の演算を行うメソッド。
: def xxx(*yy) ・・ *がついた引数
メソッド呼出の引数展開。spec/call と d:spec/def#method を参照。
: x, *y = foo()
多重代入。d:spec/operator#multiassign を参照。
: /xx*/
正規表現の、直前の表現の 0 回以上......> 1
//}
: { 1 => "11" , 3 => "333" }
ハッシュのリテラル
: ->(a,b){ p [a,b] }
Ruby1.9 で導入された lambda の新しい記法。以下と同じ。
//emlist{
lambda{|a, b| p [a, b] }
//}
===[a:eq] =
: a = 12
代入演算子。
: xxx.a = 12
代入メソッドの呼び出し... -
irb (24.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
...b(main):006:0> irb # サブ irb を起動
irb#1(main):001:0> x # x を表示
NameError: undefined local variable or method `x' for main:Object
from (irb#1):1:in `Kernel#binding'
起動時のインタプリタでローカル変数 x を定義しましたが、
「i......irb の設定をまとめて設定することができます。
以下に例を示します。
$ irb
irb(main):001:0> IRB.conf[:IRB_RC] = lambda {|conf| conf.prompt_i = "> " }
=> #<Proc:0x00002a95fa3fd8@(irb):2>
irb(main):002:0> irb
>
=== irb の使用例
irb のいろいろな使用......running)
#1->irb#1 on main (#<Thread:0x40125d64> : stop)
#2->irb#2 on Foo (#<Thread:0x4011d54c> : stop)
nil
irb(main):005:0> Foo.instance_methods # Foo#fooがちゃんと定義さ
# れている
["foo"]
irb(main):006:0> fg 2... -
OpenSSL
:: SSL :: SSLContext # renegotiation _ cb=(cb) (12.0) -
@todo
...禁止します。
num_handshakes = 0
ctx.renegotiation_cb = lambda do |ssl|
num_handshakes += 1
raise RuntimeError.new("Client renegotiation disabled") if num_handshakes > 1
end
@param cb コールバック(Proc, Method など)もしくは nil
@see OpenSSL::SSL::SSLContext#renegoti...