定义的命名空间中的字典分配失败
Dictionary assignment in defined namespace failing
首先我显示我当前的名称空间,然后定义一个新名称空间,然后我尝试创建一个字典。
为什么第一次赋值失败,而在未定义的命名空间中赋值成功?
q)key `
`q`Q`h`o
q).foo
'.foo
q).foo:()!()
q).foo.bar:`a`b`c!1 2 3
'.foo.bar
q).foobar.bar:`a`b`c!1 2 3
q).foobar.bar
a| 1
b| 2
c| 3
您需要像这样初始化命名空间:
q).foo:enlist[`]!enlist[::]
q).foo
| ::
q)
q).foo.bar:`a`b`c!1 2 3
q)
q).foo.bar
a| 1
b| 2
c| 3
在第二种情况下,q 正在有效地为您做这件事
来自code.kx:
A context is actually a sorted dictionary whose domain is a list of symbols with the names of the entities defined in the context
如果您将代码更改为以下内容,它将按预期工作:
q).foo:(`symbol$())!()
q).foo.bar:`a`b`c!1 2 3
q).foo.bar
a| 1
b| 2
c| 3
首先我显示我当前的名称空间,然后定义一个新名称空间,然后我尝试创建一个字典。
为什么第一次赋值失败,而在未定义的命名空间中赋值成功?
q)key `
`q`Q`h`o
q).foo
'.foo
q).foo:()!()
q).foo.bar:`a`b`c!1 2 3
'.foo.bar
q).foobar.bar:`a`b`c!1 2 3
q).foobar.bar
a| 1
b| 2
c| 3
您需要像这样初始化命名空间:
q).foo:enlist[`]!enlist[::]
q).foo
| ::
q)
q).foo.bar:`a`b`c!1 2 3
q)
q).foo.bar
a| 1
b| 2
c| 3
在第二种情况下,q 正在有效地为您做这件事
来自code.kx:
A context is actually a sorted dictionary whose domain is a list of symbols with the names of the entities defined in the context
如果您将代码更改为以下内容,它将按预期工作:
q).foo:(`symbol$())!()
q).foo.bar:`a`b`c!1 2 3
q).foo.bar
a| 1
b| 2
c| 3