Под влиянием https://benhoyt.com/writings/count-words/ я немного поигрался с переписыванием скрипта анализа внутреннего лога на нескольких языках (не буду заходить так далеко, как в статье!).
После Go (самостоятельно) и Rust (с некоторой помощью SO) я в настоящее время застрял с Zig. Я более или менее понял https://github.com/benhoyt/countwords/blob/master/simple.zig, но все еще испытываю трудности с переводом моего оригинала в соответствии с этими строками... В частности, использование хэша с ключами кортежа, обработка названий месяцев при разборе и печати...
Оригинальный скрипт на Python:
import sys
months = { "Jan": 1, "Feb": 2, "Mar": 3, "Apr": 4, "May": 5, "Jun": 6,
"Jul": 7, "Aug": 8, "Sep": 9, "Oct": 10, "Nov": 11, "Dec": 12 }
months_r = { v:k for k,v in months.items() }
totals = {}
for line in sys.stdin:
if "redis" in line and "Partial" in line:
f1, f2 = line.split()[:2]
w = (months[f1], int(f2))
totals[w] = totals.get(w, 0) + 1
for k in sorted(totals.keys()):
print(months_r[k[0]], k[1], totals[k])
Может ли кто-нибудь, свободно владеющий последним Zig, помочь?
Большое спасибо!