小编Ale*_*lex的帖子

Perl - 从2个相等长度的数组构建2D数组

所以我应该先说这个我已经解决了这个问题,但语法很糟糕,所以我想知道是否有一种Perl-ish方式做得更好.

我有两个长度为n(@genes@names)的数组.我想将它们组合成一个配对值的2D数组.

我现在的做法是;

$Num = Number of elements in each array

my @genes = ();
foreach my $i ( 0 .. $num-1 ) {
    foreach my $j ( 0 .. 1 ) {
    if ($j == 0){ push @{ $genes[$i] }, $names[$i];}
    if ($j == 1){ push @{ $genes[$i] }, $lengths[$i];}
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这需要为每个附加列提供一个明确的行(现在我有两个 - 名称和长度).它也很可怕.代码只有母亲才能爱.

有什么想法吗.注意

@genes = (\@lengths, \@names);
Run Code Online (Sandbox Code Playgroud)

难道没有达到我想要的.

perl

2
推荐指数
1
解决办法
773
查看次数

Fortran名称空间(或代码组织)

我有大量遗留代码要处理(Fortran F90).处理最困难的事情之一是每个文件包含少量的大量函数,每个函数都有很长的列表

use <module name>
Run Code Online (Sandbox Code Playgroud)

然后代码使用这些模块中定义的变量和数据结构.问题是它难以置信的困难,以确定这些变量最初定义/初始化,因为他们在定义一个对的use模块,并在代码初始化其他地方(这大约是100 000 LOC).

有没有办法在Fotran中提供命名空间解析?从阅读中,我猜不是,更一般地说,是否有一个很好的Fortran-Y方式来解决这类问题?

fortran

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

使用C中的管道在进程之间发送浮点值

是否有一种标准方法可以将子进程中的浮点值发送到C中的父进程.

我有一些计算,我想要分叉一个进程,然后让孩子做一些繁忙的工作,父母做其他事情,然后孩子将其值(双打)发送回父母(可能通过管道) .很明显,父母可以解析流,但我只是想知道是否有更清洁的方式?

c fork ipc

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

Fortran多维数组语法

两个快速语法问题

real(4), ALLOCATABLE:: thing1(:,:)
Run Code Online (Sandbox Code Playgroud)

创建一个包含2列的2D数组,这是一个尚未定义的行数,其中每个元素是4个实数的数组?

其次,愿意

real(4) box(3,3),versions,revert
Run Code Online (Sandbox Code Playgroud)

创建两个长度为4的数组,以及大小为3x3的2D数组,其中每个元素都是长度为4的数组.

fortran

0
推荐指数
1
解决办法
224
查看次数

标签 统计

fortran ×2

c ×1

fork ×1

ipc ×1

perl ×1