我们可以使用用户输入在Julia中分配变量吗?

我们可以使用用户输入在Julia中分配变量吗?,julia,Julia,这是我的代码,但readline函数只接受字符串,我希望它接受一个表达式,我可以在函数中使用它。我想为变量ans指定一个表达式(a)。您可以尝试以下方法: ans=readline(stdin) function g(n) if ans==a return 1 else return n end 备注: 函数不应引用全局变量(如示例中的ans)-如果需要获取ans的值,请将其作为参数传递 解析表达式是不安全的-例如,用户可能希望使用此功能删除数据。小心使用!在某些场景中,您可能希望例如使用正

这是我的代码,但readline函数只接受字符串,我希望它接受一个表达式,我可以在函数中使用它。我想为变量ans指定一个表达式(a)。

您可以尝试以下方法:

ans=readline(stdin)

function g(n)
if ans==a
return 1
else
return n
end
备注:

  • 函数不应引用全局变量(如示例中的
    ans
    )-如果需要获取
    ans
    的值,请将其作为参数传递
  • 解析表达式是不安全的-例如,用户可能希望使用此功能删除数据。小心使用!在某些场景中,您可能希望例如使用正则表达式来验证用户的输入

  • 实际上,这只是我代码中的一小部分。我想创建一个g(n)函数,根据用户输入返回1或n。所以基本上我会让用户选择选项a或b,这将决定g(n)的值,也许你需要的是?
    julia> function check(x)
               ans = readline()
               val=Main.eval(Meta.parse(ans))
               println("val == $x :", val==x)
           end;
    
    julia> check(5)
    2+3
    val == 5 :true