Code for the Advent of Code event
aoc advent-of-code
at rust 35 lines 661 B view raw
1json = require 'json' 2 3get_sum = (data) -> 4 sum = 0 5 for k, v in pairs data 6 num = tonumber v 7 if num 8 sum += num 9 elseif type(v) == 'table' 10 sum += get_sum v 11 sum 12 13get_sum_nonred = (data) -> 14 sum = 0 15 for k, v in pairs data 16 k_t = type k 17 v_t = type v 18 19 return 0 if k_t == 'string' and v == 'red' 20 21 if v_t == 'number' 22 sum += v 23 elseif v_t == 'table' 24 sum += get_sum_nonred v 25 sum 26 27sum = (text) -> 28 data = json.decode text 29 get_sum data 30 31sum_nonred = (text) -> 32 data = json.decode text 33 get_sum_nonred data 34 35{ :sum, :sum_nonred }