question に戻りについて尋ねたところ、breakと同じことをしているようです。 returnをどのように使用し、breakをどのように使用するか(これらの構成を使用する可能性のある問題を解決するために作成する実際のコードなど)。
これらの使い方がわからないので、実際に例を投稿することはできません。
Returnは、関数全体を終了します。
Breakは最も内側のループを終了します。
したがって、次のような関数では:
def testing(target, method)
(0..100).each do |x|
(0..100).each do |y|
puts x*y
if x*y == target
break if method == "break"
return if method == "return"
end
end
end
end
違いを確認するには、次を試してください:
testing(50, "break")
testing(50, "return")
breakはループの内側から呼び出されます。それはあなたがいる最も内側のループの直後にあなたを置きます。
returnはメソッド内から呼び出されます。それはあなたがそれを伝える値を返し、それが呼び出された場所の直後にあなたを置きます。
例を簡略化するために承認済みの回答を編集したかったのですが、新しい回答を作成するよう提案されたため、編集は拒否されました。これは私の簡略版です:
def testing(target, method)
(1..3).each do |x|
(1..3).each do |y|
print x*y
if x*y == target
break if method == "break"
return if method == "return"
end
end
end
end
試してみて違いがわかります:
testing(3, "break")
testing(3, "return")
最初の(break
ステートメントの結果は、3
に到達):
1232463
最後の結果(関数全体を終了するreturn
ステートメント):
123
もう1つの例は、1つのメソッドに2つのループがあり、最初のループから出て2番目のループに進みたい場合、最初のループでbreakを使用するか、その逆の場合です。
def testing(method)
x=1
10.times do
if(x == 2)
break if method == "break"
end
x+=1
end
10.times do
if(x == 5)
return if method == "return"
end
x+=1
end
end