【问题标题】:How to check command line arguments in a kdb script?如何检查 kdb 脚本中的命令行参数?
【发布时间】:2013-04-19 21:36:52
【问题描述】:

我想检查我的 Q 脚本中命令参数的数量,如果 .z.x 与预期的参数数量不匹配,则返回错误消息。到目前为止,我想出了这一行:

if[count .z.x < 4; '`BadUsage]
"Arguments OK"

我从来没有通过 if 语句,它总是返回 `BadUsage,无论我使用多少参数。

如何检查参数的正确数量、打印错误消息并退出脚本?

【问题讨论】:

    标签: kdb


    【解决方案1】:

    这是因为语句是从右到左评估的。所以 .z.x

    q)count .z.x < 4
    0
    q)4 > count .z.x
    1b
    

    【讨论】:

    • 谢谢。如何打印错误消息、返回 BadUsage 代码并退出脚本?我还没有想出如何在条件评估之后在 if 语句中包含多个指令。
    • 类似这样的东西:q)if[4 > count .z.x; 0N!“坏用法”;退出[0]]。您上面的语句的问题是,一旦它到达 ' ,之后的任何语句都不会被评估。
    猜你喜欢
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    相关资源
    最近更新 更多