From: Ben Harris Date: Fri, 31 May 2024 13:01:24 +0000 (+0100) Subject: 21a: pull out opcode decoding X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=3cf4b5f52562e35050ee36254eea27ad83c4c747;p=aoc-2022.git 21a: pull out opcode decoding --- diff --git a/21/21a.bqn b/21/21a.bqn index 50226b4..51d76b0 100644 --- a/21/21a.bqn +++ b/21/21a.bqn @@ -6,10 +6,10 @@ Prep←{ Main←{ monkeys←⟨⟩•HashMap⟨⟩ {(⊑𝕩) monkeys.Set (1↓𝕩) }¨𝕩 + _decode←{⊑("+-*/"⊐𝕗)⊏⟨+,-,×,÷⟩} Eval←{ 𝕊⟨number⟩: number; 𝕊⟨x, opcode, y⟩: - op←⊑("+-*/"⊐opcode)⊏⟨+,-,×,÷⟩ - (Eval monkeys.Get x) Op (Eval monkeys.Get y) + (Eval monkeys.Get x) opcode _decode (Eval monkeys.Get y) } Eval monkeys.Get "root" }