Perl6 Twitter模块使用搜索查询中的推文提供了多维变量。这段代码:
%tweets<statuses>[0]<metadata><iso_language_code>.say;
%tweets<statuses>[0]<created_at>.say;
打印:
es
Fri May 04 13:54:47 +0000 2018
以下代码从搜索查询中打印推文的'created_at'值。
for @(%tweets<statuses>) -> $tweet {
$tweet<created_at>.say;
}
是否有更好的语法来访问变量%tweets的值?
谢谢!
最佳答案
如果问题是使用文字键进行哈希索引的语法是否比<...>
短,则否,这就是它所需要的时间。在Perl 6中,没有将哈希数据结构与对象方法/属性/属性进行合并(例如,与JavaScript不同,在JavaScript中没有这样的区别,因此.
都用于两者)。
但是,有很多方法可以消除重复和样板。例如:
%tweets<statuses>[0]<metadata><iso_language_code>.say;
%tweets<statuses>[0]<created_at>.say;
可以这样写:
given %tweets<statuses>[0] {
.<metadata><iso_language_code>.say;
.<created_at>.say;
}
这是使用主题变量
$_
。简而言之,也可以使用简单的循环,如下所示:for @(%tweets<statuses>) {
.<created_at>.say;
}
关于multidimensional-array - perl6 : access values in a multidimensional variable,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50177233/