我需要使用功能cartesian从List::Gen.这个函数需要LIST作为第二个参数,但我有一个数组,比如
$VAR1 = [
[
1,
2,
3
],
[
'a',
'b',
'c'
],
[
'x'
]
];
Run Code Online (Sandbox Code Playgroud)
如何将这样的数组"转换"成列表,这样cartesian可以使用?在这种情况下,将数组放入列表上下文似乎不起作用.
Parens不会创建列表,只是更改优先级.
@a = ((1, 2, 3), (7, 8, 9));
Run Code Online (Sandbox Code Playgroud)
是相同的
@a = (1, 2, 3, 7, 8, 9);
Run Code Online (Sandbox Code Playgroud)
示例cartesian显示了对数组的引用列表
cartesian { $_[0] . $_[1] } [1,2,3], [7,8,9];
Run Code Online (Sandbox Code Playgroud)
所以看起来你想要创建一个包含两个元素的数组,每个元素都引用另一个数组.
@a = ( [1,2,3], [7,8,9] );
Run Code Online (Sandbox Code Playgroud)
然后,为了回答您的问题,@a在列表上下文中进行评估将返回这两个引用.
cartesian { $_[0] . $_[1] } @a;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2758 次 |
| 最近记录: |