Stop using exceptions for control flow
This commit is contained in:
parent
911855e479
commit
5602e04661
1 changed files with 2 additions and 7 deletions
|
|
@ -49,8 +49,6 @@ module Intcode
|
|||
end
|
||||
end
|
||||
|
||||
class DoneExecuting < StandardError; end
|
||||
|
||||
class Executor
|
||||
def initialize(mem)
|
||||
@mem = mem
|
||||
|
|
@ -59,10 +57,7 @@ module Intcode
|
|||
|
||||
def run(&user_input)
|
||||
loop do
|
||||
tick(&user_input)
|
||||
rescue DoneExecuting
|
||||
# TODO: Stop using exceptions for control flow
|
||||
return
|
||||
return if tick(&user_input) == :done_executing
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -85,7 +80,7 @@ module Intcode
|
|||
when 8
|
||||
equal!
|
||||
when 99
|
||||
raise DoneExecuting
|
||||
:done_executing
|
||||
else
|
||||
raise StandardError, "unexpected opcode: #{opcode}"
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue