From a1722faa941e13a24a32ec3dba0524b163e087d7 Mon Sep 17 00:00:00 2001 From: TinWoodman92 Date: Thu, 6 Jul 2023 18:47:38 -0500 Subject: added assign variable method. --- dialoguer/__init__.py | 8 ++++++++ dialoguer/context_script.r | 11 +++++++++++ 2 files changed, 19 insertions(+) diff --git a/dialoguer/__init__.py b/dialoguer/__init__.py index 1b9cb8d..21c51d2 100644 --- a/dialoguer/__init__.py +++ b/dialoguer/__init__.py @@ -99,6 +99,14 @@ class Dialogue: val = self.recv(True) return val + def assign_variable(self, var_name, var_val): + self.send(3) + recv_chk = self.recv(set_data_type=bool) + self.send(var_name, False) + recv_chk = self.recv(set_data_type=bool) + self.send(var_val, True) + recv_chk = self.recv(set_data_type=bool) + def evaluate_expression(self, method_name, *args, **kwargs): self.send(2) recv_chk = self.recv(set_data_type=bool) diff --git a/dialoguer/context_script.r b/dialoguer/context_script.r index 33aacaa..32a0149 100644 --- a/dialoguer/context_script.r +++ b/dialoguer/context_script.r @@ -86,6 +86,14 @@ import_variable <- function() { send(con, var_val, TRUE) } +assign_variable <- function() { + var_name <- recv(con, FALSE, "character") + send(con, TRUE) + var_val <- recv(con, TRUE) + send(con, TRUE) + assign(var_name, var_val, envir = globalenv()) +} + evaluate_expression <- function() { arg_count <- recv(con, FALSE, "integer") send(con, TRUE) @@ -133,6 +141,9 @@ while (cmd_int != 0) { } else if (cmd_int == 2) { send(con, TRUE) evaluate_expression() + } else if (cmd_int == 3) { + send(con, TRUE) + assign_variable() } } -- cgit v1.2.3