Return exits from the entire function.
Break exits from the innermost loop.
Thus, in a function like so:
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
To see the difference, try:
testing(50, "break")
testing(50, "return")