aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dialoguer/__init__.py8
-rw-r--r--dialoguer/context_script.r14
2 files changed, 19 insertions, 3 deletions
diff --git a/dialoguer/__init__.py b/dialoguer/__init__.py
index 5c4b3da..367e14b 100644
--- a/dialoguer/__init__.py
+++ b/dialoguer/__init__.py
@@ -102,8 +102,8 @@ class Dialogue:
self.send(len(args))
recv_chk = self.recv(set_data_type=bool)
#send number of keyword arguments
- self.send(len(kwargs)
- recv_chk = self.recv(set_data_type=bool)
+ # self.send(len(kwargs))
+ # recv_chk = self.recv(set_data_type=bool)
#send method name
self.send(method_name)
recv_chk = self.recv(set_data_type=bool)
@@ -119,6 +119,10 @@ class Dialogue:
#v = val(kwarg)
#self.send(v, True)
#recv_chk = self.recv(set_data_type=bool)
+ pass
+ result = self.recv(True)
+ return result
+
def close(self):
self.send(0)
diff --git a/dialoguer/context_script.r b/dialoguer/context_script.r
index 1d59dd8..8629f2a 100644
--- a/dialoguer/context_script.r
+++ b/dialoguer/context_script.r
@@ -123,7 +123,19 @@ import_variable <- function() {
}
evaluate_expression <- function () {
-
+ arg_count <- recv(con, FALSE, "integer")
+ send(con, TRUE)
+ method_name <- recv(con, FALSE, "character")
+ send(con, TRUE)
+ args <- list()
+ if (arg_count > 0) {
+ for (i in 1:arg_count) {
+ args <- c(args, recv(con, TRUE))
+ send(con, TRUE)
+ }
+ }
+ result <- do.call(method_name, args)
+ send(con, result, TRUE)
}
con <- find_connection()