From: Ben Harris Date: Fri, 31 May 2024 12:52:20 +0000 (+0100) Subject: 21a simplified X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=5050d5e977a9af5d68b1dfda4d607bb117825ef7;p=aoc-2022.git 21a simplified Less cleverness, more flexibility for 21b --- diff --git a/21/21a.bqn b/21/21a.bqn index 37e6e06..50226b4 100644 --- a/21/21a.bqn +++ b/21/21a.bqn @@ -5,15 +5,13 @@ Prep←{ Main←{ monkeys←⟨⟩•HashMap⟨⟩ - Monkey←{ - 𝕊⟨name, number⟩: name monkeys.Set number; - 𝕊⟨name, x, opcode, y⟩: + {(⊑𝕩) monkeys.Set (1↓𝕩) }¨𝕩 + Eval←{ 𝕊⟨number⟩: number; + 𝕊⟨x, opcode, y⟩: op←⊑("+-*/"⊐opcode)⊏⟨+,-,×,÷⟩ - Fn←{𝕤, ((monkeys.Get x){𝔽} @) Op ((monkeys.Get y){𝔽} @) } - name monkeys.Set fn + (Eval monkeys.Get x) Op (Eval monkeys.Get y) } - Monkey¨𝕩 - (monkeys.Get "root"){𝔽} @ + Eval monkeys.Get "root" } •Show Main Prep •file.Lines ⊑•args