gpt4 book ai didi

Perl 哈希结构数组

转载 作者:行者123 更新时间:2023-12-02 09:36:54 27 4
gpt4 key购买 nike

这是一个设计设置问题。我知道 Perl 中没有数组的数组。我正在考虑读取在飞行过程中从大型文本文件中提取数据的代码。每个阶段都跟踪不同的变量(以及不同数量的变量)。我必须存储它们,因为在脚本的第二部分中,我将它们重写到我读入时正在更新的另一个文件中。

我首先认为我应该有一个哈希数组,但是每个阶段的变量都不相同。然后我想也许和数组具有多个数组的名称(我猜是引用数组)。

数据示例类似于

phase 100.00  mass 0.9900720175260495E+005 
phase 240.00 gcrad 61442116.0 long 0.963710076E+003 gdalt 0.575477727E+002 vell 0.9862937759999998E+002

数据是虚构的,但您应该明白,会有很多阶段,每个阶段变量的范围可能为 1 到 25 个变量

最佳答案

您可以在 Perl 中使用数组的数组。您可以在此处找到有关 Perl 数据结构(包括数组的数组)的文档:http://perldoc.perl.org/perldsc.html 。也就是说,查看您提供的示例,看起来您需要的是哈希数组。也许是这样的:

my @data = (
{ phase => 100.00,
mass => 0.9900720175260495e005 },
{ phase => 240.00
gcrad => 61442116.0
long => 0.963710076e003
gdalt => 0.575477727e002
vell => 0.9862937759999998e002 }
);

访问您将使用的数据:

$data[0]->{phase} # => 100.00

您还可以像这样使用哈希的哈希:

my %data = (
name1 => {
phase => 100.00,
mass => 0.9900720175260495e005
},
name2 => {
phase => 240.00
gcrad => 61442116.0
long => 0.963710076e003
gdalt => 0.575477727e002
vell => 0.9862937759999998e002
}
);

访问您将使用的数据:

$data{name1}->{phase} # => 100.00

Mastering Algorithms in Perl 这本书是学习如何在 Perl 中实现高级数据结构和算法的重要资源。

关于Perl 哈希结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24789797/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com