2011-12-20 127 views
2

我是新来的PDL并请原谅我的基本的问题:Perl PDL胶水不工作?

我有两个简单的PDL对象

pdl> p $a                              

[ 
    [1 2 3] 
    [4 5 6] 
] 

pdl> p $c                              
[6 6 6] 

我在一起的胶水他们,回到我的期望

pdl> p glue $b, $c                           

[ 
    [1 2 3] 
    [4 5 6] 
] 
[6 6 6] 

然而,当我将胶水分配给变量$ z胶水不粘。

$z = glue $b, $c 


pdl> p $z                              

[ 
    [1 2 3] 
    [4 5 6] 
] 

我错过了什么?

我的最终目标是通过使用胶水,猫或追加来循环遍历文件来构建大型小提琴。

+0

首先,为您的实际使用情况,将rcols解决问题了吗?其次,如果你创建一个piddle类型的数组,比如'push @piddle_lines,$ piddle_of_line',然后在最后把它们放在一起,它会更快(对其他Perl程序员来说可能更清晰):'$ data_piddle = cat @piddle_lines)'。 – 2012-02-13 20:25:42

+0

您可以使用'help'或'apropos'命令从'perldl'或'pdl2'外壳搜索并显示PDL文档。这些可以缩写为'?'或'??'分别。例如,'help glue'会给你'glue'的文档。 – chm 2012-04-24 14:05:17

回答

3

这不是你如何使用glue()From the docs

$ C = $ A->胶(<暗淡>,$ B,...)

我相信你会做这样的事情$z = $b->glue(1,$c)。虽然我有点不确定<dim>参数;尝试与它一起玩,看看会发生什么。

编辑:是的,你可以使用1<dim>

pdl> $a = pdl [[1,2,3],[4,5,6]]; 

pdl> p $a 

[ 
[1 2 3] 
[4 5 6] 
] 

pdl> $c = pdl [6,6,6]; 

pdl> p $c 
[6 6 6] 
pdl> $z = $a->glue(1,$c); 

pdl> p $z 

[ 
[1 2 3] 
[4 5 6] 
[6 6 6] 
] 
+0

不能投票,所以..谢谢。 – 2011-12-20 22:49:37