问题标签 [autovivification]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
286 浏览

perl - 参数的意外自动激活

显然我对no autovivification pragma 的理解是不完美的,因为以下脚本的 not-dying-on-line-19 行为让我非常惊讶。

运行脚本会产生:

问题:为什么当作为参数提供给$foo子时自动激活$foo->{bar},即使no autovivification是有效的?

0 投票
1 回答
63 浏览

perl - 为什么自动生存在“for”处有效?

我有下一个代码:

什么时候$events是空散列我得到$name关键值是空数组[]

尽管我只是访问元素并且没有分配任何东西,但为什么自动生存仍然有效?

0 投票
2 回答
111 浏览

perl - 为什么我可以在没有错误声明之前获得子程序地址?

我有下一个程序:

它的输出:

BEGIN块在编译时处理。那时sub mysub编译器还没有看到 of 的定义。但是程序仍然打印正确的子程序地址,它在定义时将具有。

为什么我在这里没有收到错误?这是某种自动复活吗?

0 投票
1 回答
107 浏览

perl - 为什么 perl autovivification 不适用于 ->@* 但 ->@[0] 可以?

我可以通过切片获得值:

为什么我不能写?

对于未在哈希中定义的情况下的第二个表达式,key我得到错误:

不能在 ... 处使用未定义的值作为 ARRAY 引用

0 投票
1 回答
89 浏览

python - 调整 python autoviv 以采用“+=1”增量

我正在使用一些常见的 python autovivification 代码构建字典:

我希望能够做的一件事是在指定的字典嵌套级别当前不存在键的情况下增加值,使用 += 表示法,如下所示:

这样做会返回错误:

为了解决这个问题,我构建了一个步骤,在增加密钥之前检查密钥是否存在,但如果可以的话,我很乐意取消该步骤。

我应该如何修改上面的 autoviv() 代码来获得这种增强?我已经用谷歌搜索并尝试了几个小时的不同方法,但没有任何乐趣。

感谢您的任何建议!

0 投票
1 回答
127 浏览

perl - 在 Strawberry Perl 中安装“autovivification”模块时出现问题

我的 Windows 10 计算机上安装了 Strawberry Perl。我已经能够成功安装许多 CPAN 模块,但是我卡在了 autovivification 模块上。

它挂在make test安装的一部分,我必须强制它退出。如果我然后尝试运行使用no autovivification它的程序失败并出现错误,即它找不到@INC有意义的模块,因为它没有正确安装。

我真的不确定下一步该怎么做。有没有其他人在 Strawberry Perl 上安装这个模块时遇到同样的问题?可以做些什么呢?

0 投票
1 回答
120 浏览

exception - perl6 在自动激活中捕获非致命异常

我正在对大约 10000 行数字进行分析,其中一些行给了我错误:“在数字上下文中使用 Any 类型的未初始化值”。我正在尝试捕获此错误以查看导致问题的行。但是,X::TypeCheck 和其他 X::* 类似乎不能有效地捕捉 Nil 或 Any 的自动激活。例如:

打印出警告消息后仍然给我“1”的答案并且没有说我想要的“哦-不”。

捕获这些非致命自动激活错误的正确方法是什么?顺便问一下,有没有核动力的 perl6 调试器?

非常感谢 !!!

lisprog

0 投票
3 回答
201 浏览

perl - 迭代时无意中将键添加到哈希

我正在遍历指向经度/城市的键/值对的纬度键哈希值的缓存。我正在尝试找到与已经查找的内容足够接近并且在散列中的纬度/经度的近似匹配。

我正在这样做

该代码用于在该范围内查找这些纬度/经度对。但是,对于它循环使用的每个纬度,当它确实发现它在范围内(第一个嵌套条件)时,它会将其添加到keys %{ $goog_lookup_cache_latlonhash->{$lat_key}}不打算使用的哈希(大概是 )中,向哈希添加无用/空键:

进行此查找的聪明或至少理智的方法是什么?所以我不会只是通过查找它们无意中将键添加到哈希中?

0 投票
1 回答
89 浏览

perl - 调用子程序时的perl自动生存

为什么调用程序时自动激活不起作用?在这种情况下也有办法禁止它吗?

0 投票
0 回答
202 浏览

python - 从 python 2.7 移动到 3.6 时加载 Autovivification 文件时出现问题,KeyError: 'DictType'

在 python 2.7 中,我有一堆文件存储为以下对象:

这是来自实现嵌套字典的最佳方法是什么?.

我把它们腌制了,可以很好地加载它们。但在 python 3.6 中,尝试加载同一文件时出现以下错误。

我正在使用以下代码行来加载对象:

如何使用 python 3.6 加载文件?