diff --git a/src/variables/environment.cpp b/src/variables/environment.cpp index 26465e0..5e21922 100644 --- a/src/variables/environment.cpp +++ b/src/variables/environment.cpp @@ -1,5 +1,6 @@ #include #include +#include #include "environment.hpp" #include "variable.hpp" @@ -9,11 +10,15 @@ struct Environment* create_environment(void) { } struct Variable* find_variable(struct Environment* env, std::string id) { - for (uint i = 0; i < size(env->vars); i++) { - if (id.compare(env->vars[i]->id) == 0) { - return env->vars[i]; + auto result = std::find_if(env->vars.begin(), env->vars.end(), + [id](const Variable* element) { + return element->id == id; + }); + + if (result != env->vars.end()) { + return *result; } - } + return nullptr; }