小编Dav*_*d B的帖子

从R读取JSON文件

我尝试使用rjson从R 读取JSON文件,但不断收到错误.我使用各种在线验证器验证了JSON文件.以下是JSON文件的内容:

{
   "scenarios": [
      {
         "files": {
            "type1": "/home/blah/Desktop/temp/scen_0.type1",
            "type2": "/home/blah/Desktop/temp/scen_0.type2"
         },
         "ID": "scen_0",
         "arr": [],
         "TypeToElementStatsFilename": {
            "type1": "/home/blah/Desktop/temp/scen_0.type1.elements",
            "type2": "/home/blah/Desktop/temp/scen_0.type2.elements"
         }
      }
   ],
   "randomSeed": "39327314969888",
   "zone": {
      "length": 1000000,
      "start": 1
   },
   "instanceFilename": "/home/blah/bloo/data/XY112.zip",
   "txtFilename": "/home/blah/bloo/data/XY112.txt",
   "nSimulations": 2,
   "TypeTodbFilename": {
      "type1": "/home/blah/bloo/data/map.type1.oneAmb.XY112.out"
   },
   "arr": {
      "seg11": {
         "length": 1000,
         "start": 147000
      },
      "seg12": {
         "length": 1000,
         "start": 153000
      },
      "seg5": {
         "length": 1000,
         "start": 145000
      },
      "seg6": {
         "length": 1000,
         "start": 146000
      }, …
Run Code Online (Sandbox Code Playgroud)

json r

4
推荐指数
1
解决办法
3385
查看次数

如果断言失败,则退出java程序

我正在开发一个多线程Java程序,在整个代码中使用不同的断言,并使用ea标志运行我的程序.

当任何断言失败时,我可以立即停止并退出程序吗?

java assert

4
推荐指数
1
解决办法
4568
查看次数

如何在Perl中使用`lock_hash_recurse`?

继续在这里讨论,我遇到了一些麻烦,lock_hash_recurse如下图所示:

#!/usr/bin/perl

use strict;
use warnings;
use Data::Dumper;
use Hash::Util qw (lock_keys);

my $hashref = {A=>1, B=>{CC=>22, DD=>33}};

lock_keys(%{$hashref}); # this is OK
Hash::Util::lock_hash_recurse(%{$hashref}); # this fails: "Use of uninitialized value in string eq at /usr/lib/perl/5.10/Hash/Util.pm line 153."
Run Code Online (Sandbox Code Playgroud)

从我所知道的,reftype返回undef...是一个错误lock_hash_recurse(也许这就是为什么它不会被导出?...)

perl hash locking

4
推荐指数
1
解决办法
170
查看次数

如何从Perl中的哈希数组创建哈希哈希?

我有一组哈希,都有相同的键组,例如:

my $aoa= [
 {NAME=>'Dave', AGE=>12, SEX=>'M', ID=>123456, NATIONALITY=>'Swedish'},
 {NAME=>'Susan', AGE=>36, SEX=>'F', ID=>543210, NATIONALITY=>'Swedish'},
 {NAME=>'Bart', AGE=>120, SEX=>'M', ID=>987654, NATIONALITY=>'British'},
]
Run Code Online (Sandbox Code Playgroud)

我想编写一个子程序,它将使用给定的键层次结构将其转换为哈希哈希值:

my $key_hierarchy_a = ['SEX', 'NATIONALITY'];
aoh_to_hoh ($aoa, $key_hierarchy_a) = @_;
 ...
}
Run Code Online (Sandbox Code Playgroud)

将返回

{M=>
  {Swedish=>{{NAME=>'Dave', AGE=>12, ID=>123456}},
   British=>{{NAME=>'Bart', AGE=>120, ID=>987654}}}, 
 F=>
  {Swedish=>{{NAME=>'Susan', AGE=>36,  ID=>543210}}
}
Run Code Online (Sandbox Code Playgroud)

请注意,这不仅会创建正确的密钥层次结构,还会删除现在的冗余密钥.

我陷入困境,需要在正确的分层位置创建新的,最内部的哈希.

问题是我不知道"深度"(即键的数量).如果我有一个常数,我可以这样做:

%h{$inner_hash{$PRIMARY_KEY}}{$inner_hash{$SECONDARY_KEY}}{...} = filter_copy($inner_hash,[$PRIMARY_KEY,$SECONDARY_KEY])
Run Code Online (Sandbox Code Playgroud)

所以也许我可以编写一个循环,一次添加一个级别,从散列中删除该键,而不是将剩余的散列添加到"当前"位置,但它有点麻烦,我也不知道如何保持哈希散列中的"位置"......

perl hash perl-data-structures

4
推荐指数
1
解决办法
477
查看次数

如何在Perl中保留一组对象?

我想保留一组(Moose)对象,因此每个对象只能出现一次.

我想到使用哈希,其中键是对象的地址,然后在添加对象之前检查键的存在.这是一种常见的做法吗?如何获取对象的地址?

UPDATE

再想一想,简单地使用对象引用作为关键是什么问题:

my %objects = ();

# some object (just created or or taken from somewhere...)
my $object ...

# add object to set
$objects{$object} = $object;

# operate on all objects
foreach my $obj (values %objects) {
...
}
Run Code Online (Sandbox Code Playgroud)

perl reference set data-structures

4
推荐指数
1
解决办法
491
查看次数

如何在 Bash 中循环直到达到可用磁盘空间限制?

我想做一组操作 ( x y z),只要我在挂载到/media/z.

我怎样才能做到这一点?

我试过类似的东西

while (`df | grep /media/z | awk '{print $4}'` > 204800); do x; y; z; done;
Run Code Online (Sandbox Code Playgroud)

但我想我的while语法是错误的。

bash disk while-loop

4
推荐指数
1
解决办法
1481
查看次数

使用perl的`system`

我想command用perl 运行一些命令(例如)system().假设command从shell运行如下:

command --arg1=arg1 --arg2=arg2 -arg3 -arg4
Run Code Online (Sandbox Code Playgroud)

如何使用这些参数system()运行command

perl system execution

3
推荐指数
2
解决办法
4431
查看次数

如何在Perl中将undef值打印为零?

我正在使用AoA在Perl中构建一个计数矩阵:my @aoa = ()然后$aoa[$i][$j]++在需要增加特定单元格时调用.由于某些单元格根本没有增加,所以它们被保留undef(这些相当于0计数).

我想从矩阵中打印一些行,但是我得到了undef单元格的错误(我只想将其打印为零).我该怎么办?

perl undefined

3
推荐指数
2
解决办法
2743
查看次数

如何使用Perl递归设置只读权限?

我希望$dir它下面的所有内容都是只读的.如何使用Perl设置?

permissions perl file-permissions readonly

3
推荐指数
1
解决办法
5470
查看次数

如果它已经存在于Perl中,我如何创建一个目录但删除它?

我想创建一个目录,但如果它已经存在,我想首先删除它(及其所有内容).

我应该明确地添加一个if (-d ...)或者更简单的mkdir已经做到了吗?

perl create-directory

3
推荐指数
1
解决办法
798
查看次数