我正在Perl6中打印数据,Data::Printer这是一个很棒的程序包,但是我试图更改参数,但我不能。
例如,我想要:
HG00112 {
gained_site {
9:10162 0,
9:10272 var{HG00112}{gained_site}{9:10162},
9:10326 var{HG00112}{gained_site}{9:10162},
...
}(tied to Perl6::Hash)
Run Code Online (Sandbox Code Playgroud)
看起来像
HG00112 {
gained_site {
9:10162 0,
9:10272 0,
9:10326 0,
...
}(tied to Perl6::Hash)
Run Code Online (Sandbox Code Playgroud)
易于阅读(我不在乎tied to Perl6::Hash)
可以使用JSON看到此哈希元素:
"HG00112": {
"discordant_multiallelic_loss": 0,
"concordant_hom_alt": 4,
"discordant_het_to_alt": 0,
"discordant_hom_alt_to_ref": 0,
"discordant_hom_ref_to_alt": 0,
"lost_site": 0,
"concordant_het": 3,
"discordant_multiallelic_gain": 0,
"discordant_hom_alt_to_het": 0,
"discordant_call_to_no_call": 0,
"discordant_het_to_ref": 0,
"concordant_hom_ref": 5,
"concordant_site": 18,
"discordant_no_call_to_call": 0,
"concordant_no_call": 6,
"concordant_multiallelic": 0,
"gained_site": 0,
"discordant_hom_ref_to_het": 0
}
Run Code Online (Sandbox Code Playgroud)
我通常使用加载软件包use Data::Printer:from<Perl5>,并使用的建议
终端ANSI颜色不适用于Inline :: Perl5(数据::打印机)
我已经尝试过使用https://metacpan.org/pod/Data::Printer的建议,即
use Data::Printer:from<Perl5> {show_tied => 0}
和 use Data::Printer:from<Perl5> show_tied => 0
但都显示错误
从“
Data::Printer” 导入时出错:没有这样的标签“show_tied”
如何在Data::Printer没有丑陋的情况下使输出看起来像第二个代码选择var{...?
正如Q+A下面我介绍和链接中所解释的,您应该能够控制 DP 的name选项,如下所示:
use Data::Printer kv { name => \'\' }\nRun Code Online (Sandbox Code Playgroud)\n\n这有望至少消除var“丑陋var{...”的部分。
如果是这样,那至少将证明你现在能够控制 DP 的选项。
\n\n最好的情况是,设置name为\'\'将关闭整个循环参考显示。(如果没有,也许将其设置为0?)
最坏的情况是,您仍然会var在循环引用的开头看到三个字母“名称”,我认为我们必须找出原因。
如果您能评论一下事情的进展情况,kv { name => \'\' }我们就会取得进展。
show_tied在 Raku 中使用Perl 5 模块 Data::Printer 时如何关闭它的选项?你的问题的一个关键部分,你明确地“不关心......具体”(该(tied to Perl6::Hash)位,由 DP 的show_tied选项控制)仍然非常值得明确解决。如果不出意外的话,当尝试在 Raku 语句中设置几乎任何Perl 模块的几乎任何命名选项时use,它不可避免地会涉及到常见问题解答。
所以我写了一个问答对来解决这个问题:在 Raku 中使用Perl 5 模块 Data::Printer 时如何关闭它的选项?show_tied。
var{...”我现在可以提出的第一也是最重要的一点是,就像 @H\xc3\xa5konH\xc3\xa6gland++ 在他们对您的问题的评论之一中一样,我无法重现您的问题。
\n\n也就是说,当我运行最后列出的测试代码时,它显示(在 处省略了一些行...):
{\n HG00112 {\n concordant_het 3,\n concordant_hom_alt 4,\n concordant_hom_ref 5,\n concordant_multiallelic 0,\n concordant_no_call 6,\n concordant_site 18,\n discordant_call_to_no_call 0,\n ...\n discordant_no_call_to_call 0,\n gained_site 0,\n lost_site 0\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n正如您所看到的,没有任何“丑陋”的循环引用。
\n\nshow_tied根据上面链接的 Q+A,此设置已设置为关闭。但即使show_tied保留打开状态,按照默认设置,我仍然得到上面的内容,只是带有一些(tied to Perl6::Hash)注释。
因此,正如 @H\xc3\xa5konH\xc3\xa6gland++ 在对您的问题的另一条评论中所解释的那样,这些部分var{...可能与您的 JSON 数据中的循环引用无关,show_tied而您没有与我们共享。
简而言之,您的问题与您的数据和/或 DP 选项的使用有关name,而不是其show_tied选项。
我认为我们 Raku 人员不太可能帮助您处理您的数据(这可能不是由 Raku 生成的),但我们应该能够帮助取得进展,甚至可能在适当的程度上解决您的问题使用一些 DP 选项。
\n| 归档时间: |
|
| 查看次数: |
119 次 |
| 最近记录: |