Julia元编程:如何通过字符串求值实现字符串赋值?
Julia中通过字符串求值生成包含字符串的表达式
要实现将字符串解析求值后让变量赋值为字符串类型,核心是处理好字符串内的引号转义问题,以下是可行的解决方法:
- 使用单引号作为外层字符串的包裹符,内层双引号无需转义:
eval(Meta.parse('x = "2"'))
执行后x的值为字符串"2",执行typeof(x)会返回String。
- 若必须用双引号包裹外层字符串,需要对内层双引号进行双重转义(Julia字符串本身的转义 + 解析表达式时的转义):
# 方式1:使用三重双引号 eval(Meta.parse("x = \"\"\"2\"\"\"")) # 方式2:使用反斜杠双重转义 eval(Meta.parse("x = \\\"2\\\""))
以上两种方式都能通过字符串直接生成包含字符串的赋值表达式并完成求值。
内容的提问来源于stack exchange,提问作者AndreasKuhn-ak
相关产品推荐
相关产品推荐

