gpt4 book ai didi

module - 如何在运行时创建用户模块?

转载 作者:行者123 更新时间:2023-12-01 11:23:07 26 4
gpt4 key购买 nike

我有一组不同的数学表达式,必须在运行时计算。目前,该任务是通过用等效值替换符号和 eval 结果来完成的。 (可以通过任何现有的符号包来完成)

现在,引用Julia-lang中模块的定义:

Modules in Julia are separate variable workspaces, i.e. they introduce a new global scope .... Modules allow you to create top-level definitions (aka global variables) without worrying about name conflicts when your code is used together with somebody else’s.

利用 Julia 的力量来做元事情,
我想知道是否可以在运行时创建匿名模块 m=Module(),并将它们用作范围来评估表达式 eval(m, :(a+b )).
但我就是找不到将变量加载到运行时模块中的方法。虽然我可以得到结果:

julia> ex=:(module mo; a=1; b=4; end)
julia> eval(ex)
julia> eval(mo,:(a+b))

我更喜欢更实用的方式,使用匿名模块。
任何帮助。

最佳答案

这个有效:

julia> m=Module()
anonymous

julia> eval(m, :(a=5))
5

julia> m.a
5

julia> eval(m, :(a))
5

julia> eval(m, :(2a))
10

关于module - 如何在运行时创建用户模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39998420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com