私は(非常に)Rubyを初めて使っています。私は関数を呼び出す興味深い方法を見つけましたが、実際にどのように機能するかは分かりません。Ruby関数呼び出し:foo "bar" do
def foo (arg1)
puts arg1
end
foo "bar" do
"hello"
puts "world"
thisStuff
end
ここで何が起こっているのですか? "thisStuff"という関数はありませんが、コードは問題なくコンパイルされ、コンソールの結果は "bar"になります。
'do' ...' end'は本質的に無名関数で、 'foo'に渡される*ブロック*です。これは、 'yield'を使って' foo'関数内で実行できますが、ブロックが決して実行されないように 'yield'は呼び出されません。 –
ありがとう、それは私が探していたものです。あなたのコメントを公式の答えにすることができますか?私はそれを解決策として設定し、この質問を閉じることができますか? – everyonecancode
あなたの質問は不明です。 Rubyには機能がありません。あなたが投稿したコードスニペットには少なくとも3つの異なるものがありますが、それらはRubyでそう呼ばれることはありませんが、 "関数"と呼ばれるかもしれません。どちらがあなたについて話しているのですか? –