From 50c04d6bc15bf633f4980039db8be6e61e5b6b55 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 8 Mar 2023 18:01:17 +0800 Subject: [PATCH] 1 --- a8/lisp.cc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/a8/lisp.cc b/a8/lisp.cc index e306d41..441e15e 100644 --- a/a8/lisp.cc +++ b/a8/lisp.cc @@ -143,9 +143,17 @@ namespace a8 [] (const List& params) -> std::shared_ptr { double result = 0; - for (auto param : *params) { - Atom&& atom = std::any_cast(param->value); - result /= atom.val; + if (params->size() > 0) { + result = std::any_cast(params->at(0)->value).val; + if (params->size() > 1) { + for (int i = 1; i < params->size(); ++i) { + auto& param = params->at(i); + Atom&& atom = std::any_cast(param->value); + result /= atom.val; + } + } else { + result = 0; + } } return std::make_shared(Atom(result)); });