11件ヒット
[1-11件を表示]
(0.086秒)
別のキーワード
検索結果
-
メソッド呼び出し(super・ブロック付き・yield) (15063.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
//}
文法:
[式 `.'] 識別子 [`(' [[`*']......にオーバーライドしたメソッドを呼び出すには
super() と括弧を明示します。
//emlist[例][ruby]{
class Foo
def foo(arg=nil)
p arg
end
end
class Bar < Foo
def foo(arg)
super(5) # 5 を引数にして呼び出す
super(arg) # 5 を引数にし......ソッドの戻り値は、通常のメソッドと同様ですが、ブロックの中から
d:spec/control#break により中断された場合は nil を返します。
break に引数を指定した場合はその値がブロック付きメソッドの戻り値になります。
===[a:yield] y......メソッドを呼びだそうとすると、レシーバが nil の場合は
以下のように働きます。
* 引数の評価が行なわれない
* メソッド呼び出しが行われない
* nil を返す
レシーバが nil でない場合は通常のメソッド呼び出しが行わ......れます。
//emlist[][ruby]{
foo = 13
foo&.to_s # => "13"
foo = nil
foo&.to_s # nil, not ""
//}
`&.' は要素代入(アトリビュート)に対しても使えます。
//emlist[][ruby]{
foo&.bar = "abc" # for `bar=' method
//}
===[a:super] super
//emlist[例][ruby]{
super
super(1,2,3)
//}...