如何执行动态生成的Julia语句
在如何执行动态生成的Julia语句,julia,Julia,在julia1.4.2语言中,我动态地生成了一条语句。我应该使用什么命令来执行它 例如: import Pkg; Pkg.add("DataFrames"); using DataFrames i=1; e="df_original$i = DataFrame(a = Int[], b = String[])" #i.e., the statement is "df_original1 = DataFrame(a = Int[]
julia1.4.2
语言中,我动态地生成了一条语句。我应该使用什么命令来执行它
例如:
import Pkg;
Pkg.add("DataFrames");
using DataFrames
i=1;
e="df_original$i = DataFrame(a = Int[], b = String[])"
#i.e., the statement is "df_original1 = DataFrame(a = Int[], b = String[])"
Julia_exec(e)
Julia中的Julia_exec可以执行上述语句的等价物是什么
谢谢
例如:
julia> eval(Meta.parse(e));
julia> df_original1
0×2 DataFrame
更多信息可以在Julia元编程教程中找到
但是,Julia中的大多数任务都可以在没有元编程的情况下完成,我强烈建议您不要在正常的工作流中使用它。请注意,除非最近的Julia版本中发生了变化,否则值得一提的是,
eval
会在顶级级别进行评估。i、 e.如果在函数中运行,这可能会导致问题是,您需要例如Base.invokeTest()
来处理该问题。还有很多其他的问题(比如宏的卫生问题),Julia是如此强大,以至于对于正常的数据科学工作,人们根本不应该接触元编程。非常感谢你们两位Przemyslaw Szufel和Tasos Papastylanou——感谢你们。我注意到了你关于元编程的评论。请使用正确的格式发表文章。您可以阅读有关格式的信息。谢谢
julia> eval(Meta.parse(e));
julia> df_original1
0×2 DataFrame