我想打印几个数组,输出元素的字段宽度为 3 ,我想我可以使用 printf
,但如果我使用 printf
然后我需要写数组的所有元素的格式,但数组很大。
例如
@array = (1,10,100,30);
printf ("%3d %3d %3d %3d\n",$array[0],$array[1],$array[2],$array[3]);
我知道我可以使用循环来打印一个元素,直到所有数组都循环通过,但我认为这不是一个好主意。
有没有什么办法可以让我只描述一次元素的格式,然后自动应用于整个数组?
像这样的东西?
printf ("%3d\n",@array);
谢谢
最佳答案
这里有两种方法:
printf "%3d ", $_ for @array;
print "\n";
x
运算符构建可变长度模板printf "%3d " x @array . "\n", @array;
关于arrays - 如何在不描述每个元素的格式的情况下打印数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18457175/