From e9e44f7d69b4e320b00cb85e77ad0b4b3cdb2647 Mon Sep 17 00:00:00 2001 From: Gwenhael Le Moine Date: Thu, 10 Feb 2022 14:57:14 +0100 Subject: [PATCH] extracting from stack in 2 steps to leave stack intact in case of error --- lib/interpreter.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/interpreter.rb b/lib/interpreter.rb index d7eddad..c713b35 100644 --- a/lib/interpreter.rb +++ b/lib/interpreter.rb @@ -155,7 +155,8 @@ class Interpreter args = [] needs.each do |need| raise ArgumentError, "Type Error, needed #{need} got #{elt[:type]}" unless need == :any || need.include?( @stack.last[:type] ) - + end + needs.each do # rubocop:disable Style/CombinableLoops args << @stack.pop end