Less cleverness, more flexibility for 21b
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