如何在单个查询中更改名称空间?
How to change a namespace in a single query?
如果我尝试就地切换命名空间(例如通过 qcon)以在命名空间中准确定义函数(我想 get[`f][3;0] 将准确给出定义它的命名空间) ,我得到了空洞的结果——似乎没有发生命名空间切换:
\d .
system"d .ns1"; f1:{x+y}; get[.ns1.f1][3;0]~`
但是:
\d .
system"d .ns1"; // notice the only difference is the newline
f1:{x+y}; get[.ns1.f1][3;0]~`ns1
难道是3.6 32bit版本的bug?或功能?
如果它是一项功能,那么如何在单个 qcon
查询中切换到新的命名空间?
在执行代码行之前在上下文中评估代码行。因此,第一个示例中的 f1 定义是在命名空间切换发生之前的上下文中计算的。
如果我尝试就地切换命名空间(例如通过 qcon)以在命名空间中准确定义函数(我想 get[`f][3;0] 将准确给出定义它的命名空间) ,我得到了空洞的结果——似乎没有发生命名空间切换:
\d .
system"d .ns1"; f1:{x+y}; get[.ns1.f1][3;0]~`
但是:
\d .
system"d .ns1"; // notice the only difference is the newline
f1:{x+y}; get[.ns1.f1][3;0]~`ns1
难道是3.6 32bit版本的bug?或功能?
如果它是一项功能,那么如何在单个 qcon
查询中切换到新的命名空间?
在执行代码行之前在上下文中评估代码行。因此,第一个示例中的 f1 定义是在命名空间切换发生之前的上下文中计算的。