Если я простой вариант (+ (count [1 2 3 4]) (count [1 2 3 4]))
я получить правильный ответ 8
Как добавить несколько счетчиков больших списков
Но когда я использую большую версию масштаба из моей программы, которые потенциально могут иметь count
сравнявшись 100000 это не более длинные функции. combatLog - файл журнала 100 000 строк.
(let [rdr (BufferedReader. (FileReader. combatLog))]
(+ (count (filter (comp not nil?) (take 100000 (repeatedly #(re-seq #"Kebtiz hits" (str (.readLine rdr)))))))
(count (filter (comp not nil?) (take 100000 (repeatedly #(re-seq #"Kebtiz misses" (str (.readLine rdr)))))))
)
)
В этом случае возвращается только значение первого счета. Я пытаюсь выяснить, почему +
и count
не работают в этом случае, или другим способом суммировать общее количество элементов в обоих списках.
Хорошо, поэтому я начинаю с пустого файла к тому времени, когда я доберусь до поиска промахов. Я должен был предположить, что из чтения файла java/C спасибо. – Kebtiz