我是新手,我正在尝试编写csv保存功能
CSVsave:{[filename;table]
filename: $[-11h = type filename;filename;`$":", filename];
@[hdel;filename;()];
h: hopen filename;
(neg h) csv 0: table;
hclose h;
};
当我把它放入文件IO.q并执行
时\l IO.q
我收到错误消息
k){0N!x y}
'{
@
"q"
"CSVsave:{[filename;table]\n filename: $[-11h = type filename;filename;`$\..
但如果我删除新行并将所有内容放在一行
CSVsave:{[filename;table] filename: $[-11h = type filename;filename;`$":", filename]; @[hdel;filename;()]; h: hopen filename; (neg h) csv 0: table; hclose h;};
运行良好。
我错过了一些明显的东西吗?
答案 0 :(得分:6)
最后一个括号前的空格。
CSVsave:{[filename;table]
filename: $[-11h = type filename;filename;`$":", filename];
@[hdel;filename;()];
h: hopen filename;
(neg h) csv 0: table;
hclose h; };
我还建议尝试使用kdb IDE。而不是必须不断节省负载。例如qStudio
答案 1 :(得分:1)
任何多行代码都需要在脚本中缩进。大多数人无论如何都要缩进他们的功能体,所以只注意到关闭支撑。如果您有像
这样的脚本select ...
from ...
where ...
然后是"来自"和"其中"需要缩进。或者至少我上次尝试过它。
另外,我非常推荐kdb studio!我无法想象没有它的发展。
答案 2 :(得分:0)
CSVsave:{[filename;table]
filename: $[-11h = type filename;filename;`$":", filename];
@[hdel;filename;()];
h: hopen filename;
(neg h) csv 0: table;
hclose h;
};