Perl:对哈希数组进行切片

2023-12-10

下面代码的输出始终为空。不确定我做错了什么,希望得到任何帮助。如何获取哈希数组中特定哈希中的键的值?

use strict;
use warnings;

my %dot1 = ('a'=>1,'b'=>2);
my %dot2 = ('a'=>3,'b'=>4);
my %dot3 = ('a'=>5,'b'=>6);
my %dot4 = ('a'=>7,'b'=>8);

my @array = (%dot1,%dot2,%dot3,%dot4);

my %x = $array[2];
my $y = $x->{'a'};

print "$y \n";

你没有哈希数组。你有一个看起来像散列的数组,其中的键a and b各会出现四次,顺序相对随机。

print Dumper \@array;
$VAR1 = [
          'a',
          1,
          'b',
          2,
          'a',
          3,
          'b',
          4,
          'a',
          5,
          'b',
          6,
          'a',
          7,
          'b',
          8
        ];

之后,您将使用$x->{a},这是获取密钥的语法a来自哈希引用$x,但你只声明了一个散列%a。这反过来又会破坏,因为你给它一个包含一个值的奇怪大小的列表。

相反,将对哈希值的引用添加到数组中。这样您将获得多级数据结构而不是平面列表。然后使x变量标量$x.

my %dot1 = ('a'=>1,'b'=>2);
my %dot2 = ('a'=>3,'b'=>4);
my %dot3 = ('a'=>5,'b'=>6);
my %dot4 = ('a'=>7,'b'=>8);

my @array = (\%dot1,\%dot2,\%dot3,\%dot4); # here


my $x = $array[2]; # here
my $y = $x->{'a'};

print "$y \n";

这将打印5.

您应该阅读以下内容中的数据结构:perlref and 佩尔勒夫图特.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Perl:对哈希数组进行切片 的相关文章

  • str_replace 为数组

    我在使用 PHP 函数时遇到一些问题str replace使用数组时 我有这样的消息 message strtolower L rzzo rwldd ty esp mtdsza d szdepw ty esp opgtw d dple 我正
  • SESSION 中存储的数组后面出现数字

    我正在对存储在会话变量上的数组执行 print r 由于某种未知的原因 它在数组打印后添加了一个数字 Example Array 0 gt 868 userid gt 868 1 如果我直接在函数本身中执行 print r 并且在变量存储在
  • 将行分组在一列上并与其他列形成嵌套子数组

    这是我试图处理的事情 我的数组看起来像这样并且有重复项 products product name gt Adidas1 address gt street 2 product name gt Adidas2 address gt stre
  • JS如何获取多维数组的最大深度?

    我有一个多维数组 我想知道它的最大深度 我发现了这个灵魂 但它不适用于对象数组 const getArrayDepth arr gt return Array isArray arr 1 Math max arr map getArrayD
  • 是否可以在 PowerShell 中使 IndexOf 不区分大小写?

    我在终端服务器中由查询会话命令组成的数组中搜索索引时遇到问题 这是有问题的脚本 Array of logged users in terminal servers a Get RDUsersession CollectionName BLA
  • JQuery 验证表单数组中的重复项

    我想显示重复或不唯一的值的错误 但我的表单接受输入数组 我已经在 jsfiddle 上检查了这些问题 name week 失败但是name week 工作正常 问题1 https stackoverflow com questions 24
  • PHP 类似数组的对象

    我需要能够像这样设置我的对象 obj gt foo bar 然后我需要将它用作数组 如下所示 if obj foo bar more code here 只需添加implements ArrayAccess到您的类并添加所需的方法 公共函数
  • 我可以在 WebGL 的 GLSL 中使用什么作为数组索引?

    是否只允许使用常量 或者我可以将其用于循环索引或任何其他动态值 In WebGL GLES2 是的 只允许使用常量 但是 如果您的代码可以展开 无论是由您自己还是由编译器 那么它就被视为一个常量 并且您有一个解决方法 例如 问题 unifo
  • 按元素出现的频率对数组元素进行排序

    是否可以在 matlab octave 中使用sort函数根据元素的相对频率对数组进行排序 例如数组 m 4 4 4 10 10 10 4 4 5 应该产生这个数组 5 10 10 10 4 4 4 4 4 5是出现频率较低的元素 位于顶部
  • jQuery 画廊用下一个和上一个按钮翻转

    我正在尝试用 jQuery 做某种 Gallery Turn Over 脚本 因此我得到了一个数组 比方说 13 图像 galleryImages new Array images tb 01 jpg images tb 02 jpg im
  • VB.NET 中字节数组的数组

    我需要一个数组 数组中的每个项目都是这样的字节数组 但我不知道如何执行以下操作 Dim xx as array xx 0 as byte H12 HFF xx 1 as byte H45 HFE 您可以像这样创建嵌套或 锯齿状 字节数组 D
  • 错误只有 size-1 数组可以转换为 Python 标量

    我有这个代码 for a in data X for i in a if not i isdigit x hash i data X column row x row row 1 row 0 column column 1 desired
  • 创建并初始化具有连续名称的类的实例

    我有一个BankAccount班级 我试图创建这个类的多个实例并将它们放入一个数组中 例如 accounts Ba1 BankAccount new 100 Ba2 BankAccount new 100 我想初始化包含大量实例的数组 假设
  • 从 PHP 中的平面路径数组构建目录树

    所以 标题可能令人困惑 但我不知道如何表达这种数组结构 它肯定是一个树结构 但至于它的创建 这正是我所渴望的 它似乎不遵循典型的递归数组树构建 我正在尝试从平面路径数组创建列目录布局 每个路径都位于其自己的多维数组内 该数组旨在构建 mac
  • C++11 中 std::array 大小为零是否有原因?

    考虑以下代码 C 11 编译器完全可以接受它 include
  • 原始数组的现代 for 循环

    原始数组上的 for 循环之间有性能差异吗 Assume double doubleArray new double 300000 for double var doubleArray someComplexCalculation var
  • 如何仅选择数组中的第一列并对其求和?

    这是我的代码 import numpy as np contrainte1 1080 0 65 minutes tous les jours contrainte2 720 0 55 minutes du lundi au vendredi
  • 由于握手问题,PerL SSL 连接尝试失败

    我希望有人可以提供帮助 我正在使用 nagios 插件 check ilo2 health 该插件在我们的 OpenSuSE 系统上运行良好 但新的 Ubuntu 14 04 系统有问题 删除 nagios 的东西并运行 perl 基本上是
  • 访问php数组内部[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有一个像这样的数组打印 array 2 systems gt array 5 1 gt string 1 1111 2
  • 查找数组中的多个索引

    假设我有一个像这样的数组 string fruits watermelon apple apple kiwi pear banana 是否有一个内置函数可以让我查询 apple 的所有索引 例如 fruits FindAllIndex ap

随机推荐

  • 使用 GAC 的优点和缺点是什么?

    除此之外 是否存在必须使用全局程序集缓存或不能使用它的情况 从 GAC 加载程序集意味着更少的开销和安全性 您的应用程序将始终加载正确版本的 NET 库 您不应该生成 GAC 之外的程序集 因为几乎不会获得任何性能提升 在许多情况下甚至会损
  • C# 网格绑定不更新

    我有一个绑定到集合的网格 由于某种我不知道的原因 现在当我在网格中执行某些操作时 网格不会更新 情况 当我单击网格中的按钮时 它会增加同一行中的值 当我单击时 我可以调试并查看值增量 但网格中的值不会改变 BUT当我单击按钮 最小化并恢复窗
  • LINQ to Entities 仅支持无参数构造函数和初始值设定项

    我在这个 linq 表达式中遇到此错误 var naleznosci from nalTmp in db Naleznosci where nalTmp idDziecko idDziec select new Payments nalTm
  • QScopedPointers 的 QList

    我正在尝试将 QScopedPointers 存储在 QList 中 我发现了这个评论 还可以使用 QList gt 库巴 奥伯 2014 年 1 月 14 日 18 17 对此答案的第一条评论 https stackoverflow co
  • 如何使用python将文件以块的形式传输到azure blob存储而不写入文件

    我需要将文件从 google 云存储传输到 azure blob 存储 谷歌提供了一个代码片段来将文件下载到字节变量 如下所示 Get Payload Data req client objects get media bucket buc
  • self.var 和简单 var 之间的区别

    使用有什么区别self var与只是var在 Objective C 课程中 对其中一方有好处还是有危险 self var称为property for var 在幕后 Objective C 会自动生成属性的 getter 如果愿意的话 您
  • psutil - 获取进程名称为空

    我正在尝试运行此代码 但没有按名称获取进程列表 import psutil PROCNAME python exe for proc in psutil process iter if proc name PROCNAME print pr
  • 使用 WinPython 作为 PyCharm 的解释器

    抱歉问一个简单的问题 我想使用 WinPython 最近安装 作为 PyCharm 社区版的解释器 但收到错误 所选文件不是 Python SDK 的有效主目录 见图 有人知道可能是什么问题吗 我还需要执行任何其他步骤 使用路径等 吗 您需
  • 为什么xpath删除html特殊字符?

    为什么会这样 html a href browse product do cid 1 amp vid 1 amp pid 1 class productItemName what is going on here a dom new DOM
  • 是否可以使用 JDK 1.7 或更高版本在没有 main() 的情况下编写 Java 程序? [复制]

    这个问题在这里已经有答案了 以下程序将打印Hello world当编译时JDK 1 6或更低版本JDK public class A static System out println Hello world System exit 0 B
  • 将python库添加到google datalab环境

    我在用着谷歌数据实验室在谷歌云平台上 第一次尝试效果很好 我喜欢现在在云中运行 jupyter 笔记本服务器是多么容易 比启动本地主机服务器更快 这是梦幻般的 但现在我想安装基本 datalab 环境中未包含的 python 库 特别是我需
  • PHP 按日期排序数组? [复制]

    这个问题在这里已经有答案了 可能的重复 PHP 按包含日期的元素对多维数组进行排序 我在 PHP 数组中有一些来自 XML 或 JSON 的数据 如下所示 0 array 2 title string 38 Another title da
  • 在单独的 DIV 中显示 MySQL 中的每一行

    我有一个帖子表 其中包含帖子字段 假设我有 10 篇帖子想要在 10 个 div 中显示 我应该如何继续这样做 我已经设法使用 while 循环获取完整内容 但这仅在一个位置显示完整内容 并且我希望每个单独的帖子都有单独的 div 这样我可
  • 在使用其中的元素之前,如何检查我的表单步进器步骤是否已完成渲染?

    我正在使用Angular2 向导填写银行帐户详细信息 在第二步中 我要求提供帐户信息 号码 CVC 到期日期 这些元素来自Stripe js使用ngx 条纹图书馆到mount我的元素 然后 当我单击下一步并创建 Stripe 令牌 crea
  • 在javascript中读取文本文件的第一行

    假设我的网络服务器上有一个文本文件 位于 today changelog en txt它存储有关我的网站更新的信息 每个部分都以版本号开头 然后是更改列表 因此 文件的第一行始终包含最新版本号 我想使用纯 JavaScript 读出该版本号
  • 如何使用 XML 数据更新 SQL 表列

    Table 1 id title chtml 0 Lopez Michelle MD
  • Yii CHtml::radioButtonList - CSS 水平对齐

    我正在使用 yii 框架进行开发 我编写了 CSS 并且能够对齐我的
  • 如何修复 Visual Studio 2010 中的“无法找到引导的先决条件”警告?

    我在用 x64 计算机上的 Visual Studio 2010 构建 Windows 应用程序 针对 NET Framework 4 Client Profile 和 x86 我正在使用 ClickOnce 进行部署 我已经安装了 Mic
  • chrono::year 对象是如何构造的?

    我刚刚注意到c 20将会有chrono year 它的构造函数接受一个int在范围中 32767 32767 但是我不清楚这个论点代表什么 这是否符合tm year1900年的起源 也许time t1970年的起源 或者也许是在公元原点为
  • Perl:对哈希数组进行切片

    下面代码的输出始终为空 不确定我做错了什么 希望得到任何帮助 如何获取哈希数组中特定哈希中的键的值 use strict use warnings my dot1 a gt 1 b gt 2 my dot2 a gt 3 b gt 4 my