首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSONiq console.log或打印

JSONiq console.log或打印
EN

Stack Overflow用户
提问于 2018-05-22 17:49:27
回答 1查看 122关注 0票数 1

是否可以在JSONiq/Zorba脚本中打印到控制台进行调试?

例如:

代码语言:javascript
复制
declare function utils:lowerCaseKey($obj as item) as item{
   print($obj)
  {|
    for $k in  distinct-values(keys( $obj ))
    return { lower-case($k) : $obj.$k } (: note the ',' to create a sequence :)
  |}
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-23 06:28:46

是的:trace函数满足这个目的。可以在需要查看输出的任何表达式上调用它,以及您选择的标签。

代码语言:javascript
复制
declare function utils:lowerCaseKey($obj as item) as item
{
  {|
    for $k in  distinct-values(keys( trace($obj, "obj") ))
    return { lower-case($k) : $obj.$k }
    (: note the ',' to create a sequence :)
  |}
};

这将导致输出,例如:

代码语言:javascript
复制
obj [1]: { "foo" : "bar" }
obj [2]: { "foo" : "bar2" }

准确地(在命令行中,在日志文件中)这个输出应该被记录在每个引擎中。在默认情况下,Zorba将输出到stderr。

请注意,这是一种声明性语言,因此trace的行为与print不同。如果不需要,可以对某些表达式进行优化,在这种情况下,它不会生成跟踪。例如,

代码语言:javascript
复制
(1, trace(2, "foo"))[1]

可能不会产生任何痕迹。同样,生成跟踪的顺序可能依赖于实现,因为JSONiq和XQuery一样,只要其结果符合规范,每个引擎就可以自由地计算最佳表达式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50473718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档