有没有办法在文件中序列化/反序列化HANDLE?

时间:2016-02-26 15:55:42

标签: c++ file serialization pipe handle

有没有办法在文件中序列化HANDLE? 这是我的句柄:

# Create data and a formula data frame
x <- 10
y <- 5

forms <- c("x + y", 
           "x - y", 
           "x / y", 
           "x * y")

form_df <- as.data.frame(matrix(forms, nrow = 2, ncol = 2), stringsAsFactors = F)
#      V1    V2
# 1 x + y x / y
# 2 x - y x * y

df1 <- data.frame(col1 = c(15,6), col2 = c(50,50))
#   col1 col2
# 1   15   50
# 2    6   50

# Create a function that creates a data frame from this
dyndf <- function(x, y, df_old, form_df) {
             df_new <- sapply(form_df,function(z1) sapply(z1, function(z2) eval(parse(text=z2))))
             df_old[df_new != df_old] <- df_new[df_new != df_old]
             df_old
}

dyndf(x,y,df1,form_df)

#   col1 col2
# 1   15    2
# 2    5   50

我问这个,因为我只能打开一次管道。如果我可以在一个文件中编写Handle(并且不要关闭Handle)并在以后反序列化它,那么也许我可以在管道中多次写入。 我之前的问题如下:Writing mulitple times in a special (given) pipe C++

我已经尝试了以下内容,但在这里我有一个file_descriptor而不是File:

vec <- 1:5
forms <- c("1 + 1", "vec[1] + 2", "vec[1] * vec[2]", "vec[3] / vec[1]", "vec[5]")

for (i in 1:length(vec)) vec[i] <- eval(parse(text=forms[i]))

vec
# [1] 2 4 8 4 5

感谢您的帮助......

0 个答案:

没有答案