[2021][ruby][11.x] tweak loop
change nrtxnwrmxrxoxqymkxomnvnuqpsozqty
commit 1bf6b7956b08e293ff336f3a8e38827c667d29d5
author Alpha Chen <alpha@kejadlen.dev>
date
parent zlznqxlx
diff --git a/2021/ruby/day_11.rb b/2021/ruby/day_11.rb
index 236c789..a482740 100644
--- a/2021/ruby/day_11.rb
+++ b/2021/ruby/day_11.rb
@@ -15,9 +15,7 @@ neighbors = ->(y, x) {
 # 100.times do
 (1..).each do |i|
   octopuses.transform_values! { _1 + 1 }
-  loop do
-    flashing = octopuses.select { _2 == 10 }
-    break if flashing.empty?
+  until (flashing = octopuses.select { _2 == 10 }).empty?
     flashing.each do |(y,x),_|
       octopuses[[y,x]] += 1
       neighbors.(y,x)
@@ -27,7 +25,10 @@ neighbors = ->(y, x) {
         end
     end
   end
-  puts i or exit if octopuses.values.all? { _1 > 9 }
+  if octopuses.values.all? { _1 > 9 }
+    puts i
+    exit
+  end
   # flashes += octopuses.count { _2 > 9 }
   octopuses.transform_values! { _1 > 10 ? 0 : _1 }
 end